Pertemuan 1- brh

55
SK1003 Algoritma SK1003 Algoritma Pertemuan 1 Pertemuan 1 Pengantar & Pengertian- Pengantar & Pengertian- pengertian dasar pengertian dasar

Transcript of Pertemuan 1- brh

SK1003 AlgoritmaSK1003 Algoritma

Pertemuan 1Pertemuan 1Pengantar amp Pengertian-Pengantar amp Pengertian-

pengertian dasarpengertian dasar

2

Pengantar Algoritma

Ide

Langkah pemecahan masalah

Program

3

Sistem Komputer

Sistem Komputer

Perangkat Keras Hardware

Perangkat Lunak Software

Pemakai Brainware

4

Algoritma Langkah-langkah yang harus dilakukan untuk mendapatkan suatu hasil tertentu dari suatu permasalahan

Contoh Buat algoritma yang menggambarkan hal-hal yang anda lakukan sejak bangun pagi hingga sampai di tempat kuliah

5

Contoh 2Misalkan terdapat sejumlah bola 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 kosongstatus akhir Bola pada kotak A berkurang 1 kotak B berisi sebuah bola

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

6

Contoh 3Misalkan terdapat sejumlah bola pada kotak A dengan warna merah kuning dan hijau 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

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

7

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

if kondisi then aksi

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

2

Pengantar Algoritma

Ide

Langkah pemecahan masalah

Program

3

Sistem Komputer

Sistem Komputer

Perangkat Keras Hardware

Perangkat Lunak Software

Pemakai Brainware

4

Algoritma Langkah-langkah yang harus dilakukan untuk mendapatkan suatu hasil tertentu dari suatu permasalahan

Contoh Buat algoritma yang menggambarkan hal-hal yang anda lakukan sejak bangun pagi hingga sampai di tempat kuliah

5

Contoh 2Misalkan terdapat sejumlah bola 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 kosongstatus akhir Bola pada kotak A berkurang 1 kotak B berisi sebuah bola

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

6

Contoh 3Misalkan terdapat sejumlah bola pada kotak A dengan warna merah kuning dan hijau 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

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

7

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

if kondisi then aksi

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

3

Sistem Komputer

Sistem Komputer

Perangkat Keras Hardware

Perangkat Lunak Software

Pemakai Brainware

4

Algoritma Langkah-langkah yang harus dilakukan untuk mendapatkan suatu hasil tertentu dari suatu permasalahan

Contoh Buat algoritma yang menggambarkan hal-hal yang anda lakukan sejak bangun pagi hingga sampai di tempat kuliah

5

Contoh 2Misalkan terdapat sejumlah bola 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 kosongstatus akhir Bola pada kotak A berkurang 1 kotak B berisi sebuah bola

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

6

Contoh 3Misalkan terdapat sejumlah bola pada kotak A dengan warna merah kuning dan hijau 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

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

7

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

if kondisi then aksi

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

4

Algoritma Langkah-langkah yang harus dilakukan untuk mendapatkan suatu hasil tertentu dari suatu permasalahan

Contoh Buat algoritma yang menggambarkan hal-hal yang anda lakukan sejak bangun pagi hingga sampai di tempat kuliah

5

Contoh 2Misalkan terdapat sejumlah bola 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 kosongstatus akhir Bola pada kotak A berkurang 1 kotak B berisi sebuah bola

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

6

Contoh 3Misalkan terdapat sejumlah bola pada kotak A dengan warna merah kuning dan hijau 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

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

7

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

if kondisi then aksi

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

5

Contoh 2Misalkan terdapat sejumlah bola 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 kosongstatus akhir Bola pada kotak A berkurang 1 kotak B berisi sebuah bola

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

6

Contoh 3Misalkan terdapat sejumlah bola pada kotak A dengan warna merah kuning dan hijau 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

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

7

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

if kondisi then aksi

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

6

Contoh 3Misalkan terdapat sejumlah bola pada kotak A dengan warna merah kuning dan hijau 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

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

7

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

if kondisi then aksi

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

7

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

if kondisi then aksi

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

8

Contoh 4Ambil sebuah bola dari kotak A Jika berwarna merah masukkan ke kotak B Jika bukan merah masukkan ke kotak C

AlgoritmaAmbilkan 1 bola dari kotak A if bola berwarna merah thenMasukkan bola terambil ke kotak Belse Masukkan bola terambil ke kotak C

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

9

Perhatikan pemilihan kondisi pada baris ke-2 Skema pemilihan yang digunakan memiliki polaif kondisi thenaksi1elseaksi2

Masukkan ke kotak B

berwarna merah

Ambil 1 bola dari kotak A

YT

Masukkan ke kotak C

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

10

Contoh 5 Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B kedua minuman akan ditukarkan tempatnyastatus awal gelas A berisi minuman a gelas B berisi minuman bstatus akhir gelas A berisi minuman b gelas B berisi minuman aDibutuhkan sebuah gelas kosong yaitu gelas CAlgoritmaTuangkan minuman a ke gelas CTuangkan minuman b ke gelas ATuangkan minuman a ke gelas B

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

11

Flowchart Contoh 5

Tuangkan isi gelas A ke C

Mulai

Tuangkan isi gelas B ke A

Tuangkan isi gelas C ke BSelesai

Isi gelas A dan B

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

12

Contoh 6Sebuah kotak A berisi 3 bola Pindahkan semua

bola dari kotak A ke kotak B satu per satu

AlgoritmaAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak BAmbil 1 bola dari kotak A Masukkan bola terambil ke kotak B

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

13

Flowchart Contoh 6

Masukkan ke kotak B

Mulai

Selesai

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

Masukkan ke kotak B

Ambil satu bola dari A

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

14

Contoh 7Dari contoh 6 bagaimana kalau jumlah bola 100 Bagaimana kalau tidak diketahui

Algoritma memerlukan pengulangan

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

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

15

Contoh 7 (lanj)Notasi flowchart

Masukkan ke kotak B

MulaiN=1

Ambil satu bola dari A

Nlt=100

Y

N=N+1Selesai

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

16

Bagaimana jika jumlah bola pada kotak A tidak diketahui

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

17

Bagaimana jika kotak A KOSONG Tambahkan ifthen di awal algoritma

Masukkan ke kotak B

Mulai

Ambil satu bola dari A

Bola di A habis

T

Selesai

Bola di A kosong

T

Y

Y

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

18

Latihan

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

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

19

Tugas Minggu Depan1 Pelajari bahan seterusnya dari slide pertemuan 1 Cari bahan-bahan pendukung di Internet

2 Pelajari bahan tentang notasi algoritma Cari juga bahan pendukung di Internet Buat ringkasan dengan tulisan tangan Catat yang kurang dipahami

3 Buat algoritma dalam kehidupan sehari-hari yang memakai a if thenb if then elsec pengulangan dengan jumlah tertentud pengulangan dengan syarat tertentu yang ditentukan

di awal pengulangane pengulangan dengan syarat yang ditentukan di akhir

pengulangan

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

20

Syarat Algoritma

1 Algoritma harus berhenti2 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

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

21

3 Memiliki nol atau lebih masukan

4 Memiliki nol atau lebih keluaraan

5 Efektif yaitu urutan instruksi sesederhana mungkin

Syarat Algoritma

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

22

Sejarah Bahasa PemrogramanFirst

GenerationVacuum Tubes1950-1957

Machine Language

Second GenerationTransistors1957-1965

Assembly LanguagesHigh-level Programming

Languages

Third GenerationIntegrated Circuits1965-1975

First minicomputerBirth of software industry

Fourth GenerationEven smaller Integrated circuits1975-1985

First microcomputerComputer networksElectronic mailGraphical user

interfacesEmbedded systemsFifth Generation

Transistors1985-Present

Parallel processorsHandheld devicesHigh-resolution

graphicsWorld wide web

Massive storage devicesUbiquitous computing

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

23

Machine Languagebull A machine generally processes very primitive calculator-like instructions

10487081048708 ldquoGet first number from memoryrdquo

10487081048708 ldquoGet second number from memoryrdquo

10487081048708 ldquoAdd the two numbersrdquo10487081048708 ldquoStore the results back in memoryrdquo

bull All of this is in binary code (machine language)

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

24

What is this code executing

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

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

25

Assembly Language

bull Instead of using hard-to-read machine language use textual representations

bull Designed to overcome shortcomings of machine languages

bull Create a more productive user-oriented environment

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

26

Assembly Language

bull Earlier termed second-generation languages

bull Now viewed as low-level programming languages

bull Assembly language considered ldquosecond-levelrdquo language

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

27

Assembly LanguageLD 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 ldquox + yrdquo

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

28

High-level Languagesbull Started in the 50s60s with FORTRAN and COBOL

bull 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

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

29

bull Called compiler because it might take a single high-level command and compile a sequence of low-level commandsndash Input high-level language as text store binary commands in executable file

bull Alternative interpret commands on the fly and issue low-level statements to the processor (BASIC does this)

bull C is compiled Java between compiled and interpreted

High-level Languages

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

30

Programming Paradigmsbull A paradigm

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

bull Programming Paradigmsndash Proceduralndash Object Orientedndash Functionalndash Logic

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

31

Programming Paradigmsbull Procedural programmingndash Fortran C Pascal etc ndash A sequence of detailed instructions is provided to the computer

ndash Each instruction accesses or modifies the contents of a memory location

ndash Computer carries out the instructions one at a time resulting in the solution to the problem

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

32

Programming Paradigmsbull Object-oriented programming (OOP)ndash C++ Java SmallTalkndash Each object is an example drawn from a class of similar objects

ndash EncapsulationbullA class consists of its subtask modules and its properties

bullBoth are ldquoencapsulatedrdquo in the class

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

33

ndashInheritancebullOnce a class A of objects is defined a class B of objects can be defined as a ldquosubclassrdquo of A

ndashPolymorphismbullOne name the name of the service to be performed has several meanings depending on the class of the object providing the service

Programming Paradigms

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

34

Programming Paradigmsbull Functional Programmingndash Lispndash programming in terms of function callsndash no use of temporary variables to store intermediate results (x = 5)

bull Logical Programmingndash Prologndash A series of logical deductions from known facts

ndash Various facts are asserted to be truendash On the basis of these facts a logic program can infer or deduce other facts

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

35

Belajar memrogram = Belajar bahasa pemrograman

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

36

Interpreter

Interpreter Machine Language Execute Output

Data

Source Program

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

37

Compiler

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

38

Compiler Pascal

bull Pascal adalah bahasa tingkat tinggi yang dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich Switzerland

bull Nama Pascal diambil dari Blaise Pascal ahli matematik dan philosophi terkenal abad 17 dari Perancis

bull Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K Jensen dan Niklaus Wirth

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

39

Objektif Matakuliah

Kuliah ditekankan pada belajar memprogram dan bukan untuk

mempelajari bahasa pemrograman tertentu

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

40

Setelah menyelesaikan matakuliah ini mahasiswa diharapkan mampu mendefinisikan langkah-langkah sistematis untuk menyelesaikan

persoalan-persoalan yang perlu diselesaikan dengan

program dan mentranslasikannya ke dalam bahasa Pascal

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

41

Pada kuliah ini digunakan compiler Pascal dengan

pertimbangan ldquokekakuanrdquo skema program Pascal yang dipandang baik bagi pemrogram pemula

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

42

Notasi Algoritmik

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

43

Teks AlgoritmaTerdiri atas tiga bagianbull Judul bull Kamusbull Algoritma

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

44

Contoh teks algoritma

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

45

Pada setiap bagian akan didefinisikan amp dituliskan NAMA

atau komentar

Komentar dituliskan diantara tanda kurung kurawal

Teks yang dituliskan diluar tanda kurung kurawal adalah teks

algoritma

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

46

NAMA

Definisi Sesuatu yang dipakai sebagai identifikasi

Modul program algoritm a skem a program dsbFungsiProsedurType

Tem pat penyim panan (nam a variabel)Konstanta

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

47

Aturan pemberian NAMA1 Dalam bahasa pemrograman setiap

nama mempunyai aturan penulisan Pada teks algoritma tidak ada aturan ketat

2 Pemilihan nama harus interpretatif tidak menimbulkan kerancuan jika singkat harus disertai penjelasancontoh x-y akan membingungkan sebab mungkin ldquox minus yrdquo

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

48

3 Nama merupakan satu kesatuan leksikal maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

49

Semua nama dalam program harus unik artinya suatu nama hanya didefinisikan satu kali saja

Semua nama yang dipakai dalam teks algoritma harus sudah

didefinisikan pada salah satu bagian teks algoritma

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

50

JUDULBagian teks algoritma tempat

mendefinisikan apakah teks tsb adalah program prosedur fungsi atau modul

Setelah judul tuliskan spesifikasi singkat dari teks algoritma

Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah

dalam suatu makalah berbahasa Indonesia

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

51

KAMUS

Definisi Bagian teks algoritm a tem pat m endefinisikan

Nam a typeNam a konstanta

Nam a inform asi (nam a variabel)Nam a prosedur sekaligus spesifikasiNam a fungsi sekaligus spesifikasi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

52

Contoh pendefinisian kamus

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

53

ALGORITMA

Definisi Bagian teks algoritm a yang berisi

instruksi atau pem anggilan aksi yang telah didefinisikan

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

54

Komponen AlgoritmaKom ponen teks algoritm ik dalam pem rogram an

prosedural dapat berupaInstruksi dasar seperti IO assignm ent

Sequence

Analisa kasus

Pengulangan

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi

55

Referensi

bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003

  • SK1003 Algoritma
  • Pengantar Algoritma
  • Sistem Komputer
  • Algoritma
  • Contoh 2
  • Contoh 3
  • Slide 7
  • Contoh 4
  • Slide 9
  • Contoh 5
  • Flowchart Contoh 5
  • Contoh 6
  • Flowchart Contoh 6
  • Contoh 7
  • Contoh 7 (lanj)
  • Slide 16
  • Slide 17
  • Latihan
  • Tugas Minggu Depan
  • Syarat Algoritma
  • Slide 21
  • Slide 22
  • Machine Language
  • What is this code executing
  • Assembly Language
  • Slide 26
  • Slide 27
  • High-level Languages
  • Slide 29
  • Programming Paradigms
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Belajar memrogram = Belajar bahasa pemrograman
  • Interpreter
  • Compiler
  • Compiler Pascal
  • Objektif Matakuliah
  • Slide 40
  • Slide 41
  • Notasi Algoritmik
  • Teks Algoritma
  • Contoh teks algoritma
  • Slide 45
  • NAMA
  • Aturan pemberian NAMA
  • Slide 48
  • Slide 49
  • JUDUL
  • KAMUS
  • Contoh pendefinisian kamus
  • ALGORITMA
  • Komponen Algoritma
  • Referensi