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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
55
Referensi
bull Liem Inggriani Diktat kuliah Algoritma amp Pemrograman ITB 2003
Top Related