Anda di halaman 1dari 17

Introduction to Discrete & Data Structures Pengantar Struktur Diskrit & Data

A.Discrete A. Diskrit
1. Graph 1. Grafik
an abstract representation of a set of objects merupakan representasi abstrak dari himpunan objek
where some pairs of the objects are connected by links di mana beberapa pasang benda yang dihubungkan dengan
• undirected link
• directed • tidak diarahkan
• weighted • diarahkan
• tertimbang
2. Seven Bridges of Königsberg
1736 by Leonhard Euler graph theory and idea of topology 2. Tujuh Jembatan Königsberg
The city of Königsberg in Prussia (now Kaliningrad, Russia) teori graph dan gagasan tentang topologi1736 oleh
The problem: Leonhard Euler
to find a walk through the city that would cross each bridge Kota Königsberg di Prusia (sekarang Kaliningrad, Rusia)
once and only once. Masalahnya:
The islands could not be reached by any route other than the untuk menemukan berjalan melalui kota yang akan
bridges, and every bridge must have been crossed completely menyeberangi jembatan masing-masing sekali dan hanya
every time sekali.
Pulau-pulau tidak bisa dihubungi oleh rute selain jembatan,
3. Knight’s Tour dan setiap jembatan pasti telah menyeberangi sepenuhnya
• The knight is placed on the empty board setiap kali
• moving according to the rules of chess
• must visit each square exactly once 3. Knight's Tour
• Closed tour • Kesatria itu ditempatkan pada papan kosong
• Open tour • bergerak menurut aturan catur
• harus mengunjungi setiap persegi tepat satu kali
4. Tree • Ditutup tur
an acyclic connected graph where each node has a set of zero • Buka tur
or more children nodes, and at most one parent node
4. Pohon
5. Simple Traversing Alg  sebuah grafik yang terhubung asiklik mana masing-masing
-Depth First Search node memiliki seperangkat node nol atau lebih anak-anak, dan
-Breadth First Search pada node satu orangtua yang paling

6. Huffman coding 5. Wikipedia melintasi Alg


• An entropy encoding algorithm used for lossless data -Depth First Search
compression. Breadth-First Search
• variable-length code table
– based on the estimated probability of occurrence for each 6. Huffman coding
possible value of the source symbol • Sebuah algoritma pengkodean entropi digunakan untuk
kompresi data lossless.
7. Minimum Spanning Tree • variabel-panjang kode tabel
• Given a connected, undirected graph, a spanning tree of - Berdasarkan estimasi probabilitas kejadian setiap nilai
that graph is a subgraph kemungkinan sumber simbol
which is a tree and connects all the vertices together
• A minimum spanning tree (MST) is a spanning tree with 7. Minimum Spanning Tree
weight less than or equal to the weight of every other • Mengingat grafik, terhubung tidak diarahkan, pohon rentang
spanning tree dari graf yang merupakan graf
Ex: Prim’s Alg and Kruskal’s Alg yang pohon dan menghubungkan semua node bersama
• Sebuah pohon rentang minimum (MST) adalah pohon
8. Shortest path problem rentang dengan berat kurang dari atau sama dengan berat
•the shortest path problem is the problem of finding a path setiap pohon rentang lain
between two vertices (or Ex: Alg Alg Prim dan Kruskal's
nodes) such that the sum of the weights of its constituent
edges is minimized 8. Masalah jalan terpendek
Contoh: Dijkstra’s Alg • masalah jalan terpendek adalah masalah menemukan jalan
antara dua simpul (atau
9. Travelling Salesman Problem node) sehingga jumlah dari bobot dari ujung penyusunnya
Given a list of cities and their pairwise distances, the task is to diminimalkan
find a shortest Contoh: Alg Dijkstra
possible tour that visits each city exactly once
An optimal TSP tour through Germany’s 15 largest cities. 9. Travelling Salesman Problem
It is the shortest among 43 589 145 600 possible tours visiting Mengingat daftar kota dan jarak berpasangan mereka, tugas
each city exactly once. ini adalah untuk menemukan terpendek
mungkin wisata yang dilihat setiap kota tepat satu kali
B. Data Structure Sebuah TSP tur optimal melalui 15 kota terbesar di Jerman.
1. Composite types Ini adalah terpendek antara 43 589 145 600 mungkin wisata
data types which can be constructed in a programming mengunjungi setiap kota tepat satu kali.
language out of that language's basic primitive types and
other composite types B. Struktur Data
• Struct in C 1. Komposit jenis
struct Account { jenis data yang dapat dibangun dalam bahasa pemrograman
int account_number; yang keluar dari bahasa yang tipe primitif dasar dan jenis
char *first_name; komposit lainnya
char *last_name; • struct di C
float balance;}; Account struct (
• to create new var: struct Account myAccount; int account_number;
• to access: myAccount.account_number char * first_name;
char * last_name;
2. Arrays float saldo;);
• is a data structure consisting of a group of elements that are • untuk membuat var baru: struct Account myAccount;
accessed by indexing • untuk mengakses: myAccount.account_number
• In most PL each element has the same data type and the
array occupies a contiguous areaof storage 2. Array
• Multidimensional array • adalah sebuah struktur data yang terdiri dari sekelompok
• Static vs dynamic array elemen yang diakses oleh pengindeksan
• Pada sebagian besar PL setiap elemen memiliki tipe data
3. Pointers array yang sama dan menempati penyimpanan areaof
• data type whose value refers directly to (or "points to") berdekatan
another value stored elsewhere in the computer memory • Multidimensional array
using its address • Statis vs array dinamis
• Pointers to: data, functions
• allow largely unprotected access to memory addresses be 3. Pointer
very careful! • tipe data yang nilainya mengacu langsung ke (atau
Exp: pointer in C, Linked structures, Singly-linked list, List "menunjuk ke") nilai lain yang disimpan di tempat lain dalam
traversal, Insert & delete, Stack (an ADT and data structure memori komputer menggunakan alamat nya
based on the principle of Last In First Out (LIFO)) • Pointer ke: data, fungsi
• sebagian besar tidak dilindungi memungkinkan akses ke
4. Queue alamat memori sangat berhati-hati!
• a First-In-First-Out (FIFO) data structure Exp: pointer di C, Linked struktur, daftar sendiri-sendiri-linked,
• Operations: traversal Daftar, Sisipkan & menghapus, Stack (sebuah ADT
– addition of entities to the rear terminal position dan struktur data berdasarkan prinsip Terakhir Dalam First Out
– removal of entities from the front terminal position (LIFO))
• the queue performs the function of a buffer.
Queue implementations 4. Antre
• Sequential • sebuah Pertama-In-First-Out (FIFO) struktur data
• Circular • Operasi:
• Linked queue - Penambahan entitas untuk posisi belakang terminal
- Penghapusan entitas dari posisi terminal depan
5. Hash table • antrian melakukan fungsi buffer.
• a data structure that associates keys with values Antrian implementasi
• Lookup function: • Sequential
– given a key (e.g., a person's name), find the corresponding • Edaran
value (e.g., that person's telephone number). • Linked antrian

6.Lookup 5. Hash meja


It works by transforming the key using a hash function into a • struktur data yang asosiasi kunci dengan nilai-nilai
hash, a number that is used as an index in an array to locate • Lookup fungsi:
the desired location ("bucket") where the values should be - Diberi (misalnya kunci, nama seseorang), menemukan nilai
yang sesuai (misalnya, orang itu nomor telepon).

6.Lookup
Ini bekerja dengan cara mengubah tombol menggunakan
fungsi hash ke hash, nomor yang digunakan sebagai indeks
dalam array untuk menemukan lokasi yang diinginkan
("ember") di mana nilai-nilai harus
Introduction to Professionalism Pengantar Profesionalisme
1. Ethics 1. Etika
• Any society is based on a system of ethics • Setiap masyarakat didasarkan pada sistem etika
– rules by which the members of that society are expected to - Aturan yang anggota masyarakat yang diharapkan untuk
abide for the mutual benefit of the society’s members. mematuhi untuk kepentingan bersama anggota masyarakat.
• ethics define what is considered to be right and wrong. etika • menentukan apa yang dianggap benar dan salah.
• Any technology must be used within the accepted ethical • Setiap teknologi harus digunakan dalam kode etik yang
codes berlaku
– the more powerful the technology the more important that - Semakin kuat teknologi yang lebih penting yang digunakan
it is used in an ethical manner secara etis

2. Non-traditional “wrong” 2. Non-tradisional "salah"


• Theft is considered wrong in most – if not all – ethical codes • Pencurian dianggap salah di sebagian besar - jika tidak
• Traditionally: theft = one person is deprived of the semua - kode etis
ownership and use of an object by • Secara tradisional: pencurian = satu orang ini dirampas dari
another kepemilikan dan penggunaan objek oleh
• Case with electronic software and data: the thief can take lain
something without depriving the original owner of its use • Kasus dengan perangkat lunak dan data elektronik: pencuri
yang dapat mengambil sesuatu tanpa mencabut pemilik asli
3. Protecting Software penggunaannya
What is to be protected
• The idea behind the programme (the algorithm)? > a patent. 3. Melindungi Perangkat Lunak
– Difficult and expensive to obtain. Apa yang harus dilindungi
– Must be new inventions • Gagasan di balik program (algoritma)? > Paten.
• The software itself > the copyright - Sulit dan mahal untuk mendapatkan.
– electronic copyright is hard to enforce - Harus penemuan baru
• Perangkat lunak itu sendiri> hak cipta
4. IT and Internet add more complications - Hak cipta elektronik sulit untuk menegakkan
• In 1990’s Apple sued Microsoft on the basis that they had
stolen the ‘look and feel’ of their software 4. IT dan Internet lebih menambah komplikasi
• Web contents: • Pada tahun 1990 Microsoft's Apple digugat atas dasar bahwa
– If a user in country X views a webpage containing material mereka telah mencuri 'tampilan dan nuansa' perangkat lunak
that is illegal in that country, can any action be taken if the mereka
owner of the webpage is in • Web isi:
country Y, where it is perfectly legal? - Jika pengguna di negara X dilihat halaman web yang
• Data protection mengandung materi yang ilegal di negara tersebut, dapat
diambil tindakan apapun jika pemilik halaman web dalam
5. Professional Ethics Y negara, di mana yang sah?
• Being a professional > having a job • Perlindungan Data
• Being a professional means having the independence to
make decisions on the basis of special expertise, but being an 5. Etika Profesional
employee often means acting in the best interests of the • Menjadi> profesional, memiliki pekerjaan
company • Menjadi seorang profesional berarti memiliki kemerdekaan
untuk membuat keputusan atas dasar keahlian khusus, tetapi
6. Professional organizations’ codes of ethics menjadi karyawan sering berarti bertindak dalam kepentingan
• The Association for Computing Machinery (ACM) Code of terbaik perusahaan
Ethics and Professional Conduct
• The Institute of Electrical and Electronic Engineers (IEEE) 6. organisasi Profesional "kode etik
Code of Ethics • Asosiasi untuk Mesin Komputer (ACM) Kode Etik dan
• The Joint ACM/IEEE Software Engineering Code of Ethics Perilaku Profesional
and Professional Practice • Institute of Engineers Listrik dan Elektronika (IEEE) Kode Etik
• The Data Processing Managers Association (DPMA, now the • The Joint ACM / IEEE Rekayasa Perangkat Lunak Kode Etik
Association of Information Technology Professionals [AITP]) dan Praktek Profesional
Code of Ethics and Standards of Conduct • Pengolahan Data Asosiasi Manajer (DPMA, sekarang Asosiasi
• The Institute for Certification of Computer Professionals Profesional Teknologi Informasi [AITP]) Kode Etik dan Standar
(ICCP) Code of Ethics Perilaku
• The Canadian Information Processing Society Code of Ethics • Lembaga Sertifikasi Profesi Komputer (ICCP) Kode Etik
• The British Computer Society Code of Conduct • Pengolahan Informasi Kode Etik Canadian Society
• Masyarakat Kode Etik Komputer Inggris
7. Examples
• IEEE Code of Ethics 7. Contoh
• www.ieee.org/portal/pages/iportals/aboutus/ • Kode Etik IEEE
ethics/code.html • www.ieee.org/portal/pages/iportals/aboutus/ etika /
• ACM Code of Ethics and Professional Conduct code.html
• www.acm.org/about/code-of-ethics • ACM Kode Etik dan Perilaku Profesional
www.acm.org • / tentang / code-of-etika
Introduction to Computer-Based Systems Databases Pengantar Sistem Komputer Berbasis Database
A. COMPUTER-BASED SYSTEMS A. BERBASIS SISTEM KOMPUTER
1.Systems? 1.Systems?
• A (usually complex) combination of elements which interact • A (biasanya kompleks) kombinasi dari unsur-unsur yang
with each other in different ways. berinteraksi satu sama lain dengan cara yang berbeda.
• A fundamental requirement: to be able to understand • Suatu persyaratan mendasar: untuk dapat memahami sistem
systems and to control them dan untuk mengontrol mereka
– In many areas of business, economics, biology, engineering, - Dalam banyak bidang bisnis, ekonomi, biologi, teknik, politik
politics etc. dll
• Increasingly computers are part of nearly all artificial • Semakin komputer adalah bagian dari hampir semua sistem
systems. buatan.
2.Some examples… 2.Some contoh ...
• Embedded Systems • Sistem Tertanam
• Real-Time Systems • Real-Time Systems
• Safety-Critical Systems • Keamanan-Sistem Kritis
• Distributed Systems • Sistem Terdistribusi
• Client-Server Systems • Client-Server Systems

3. Embedded Systems 3. Sistem Tertanam


• Systems that include computer technology, but the • Sistem yang meliputi teknologi komputer, tapi komputer
computer is largely invisible sebagian besar terlihat
(‘embedded’) ('Tertanam')
– people are often unaware that there is acomputer involved. - Orang-orang sering tidak menyadari bahwa ada acomputer
terlibat.
4.Real-Time Systems
• Systems linked to events in the outside world. 4.Real-Time Systems
• Those events take place according to imposed time • Sistem dikaitkan dengan kejadian-kejadian di dunia luar.
constraints and it is necessary that the computer component • Peristiwa-peristiwa terjadi sesuai dengan kendala waktu
of the system keeps up with the timing of those events in the yang ditetapkan, dan perlu bahwa komponen sistem komputer
‘real world’. terus sampai dengan waktu peristiwa-peristiwa di 'dunia
Example: Air Traffic Controller, Antilock Braking Systems nyata'.
Contoh: Air Traffic Controller, Sistem pengereman anti
5.Safety-Critical Systems penguncian
• Example: air traffic control system
• Special care has to be taken in the design and 5.Safety-Sistem Kritis 
implementation of such systems. • Contoh: sistem pengendalian lalu lintas udara 
– Engineering approaches may be applied more carefully to • perawatan khusus harus diambil dalam desain dan
such projects. implementasi sistem tersebut. 
– Another approach: application of formal methods - Rekayasa pendekatan dapat diterapkan lebih hati-hati untuk
• …to ensure or prove that the most critical parts of the proyek-proyek tersebut. 
system are absolutely bug-free - Pendekatan lain: penerapan metode formal 
• Risk analysis • ... untuk memastikan atau membuktikan bahwa bagian-
bagian yang paling kritis dari sistem ini adalah benar-benar
6.Distributed Systems bebas bug 
• The components of a computer system(processors, • Analisis Risiko 
memory, and so on) need not all be contained in a single box;
– they may be distributed in various ways 6. Sistem Terdistribusi 
• Komponen-komponen sistem komputer (prosesor, memori,
7.Client-Server Systems dan sebagainya) tidak perlu semua terkandung di kotak
• One particular form of distributed system tunggal; 
• A server generally has a rich set of resources (memory, - Mereka boleh didistribusikan dengan berbagai cara 
discs, processing power) available.
• A client has fewer resources, but can request a share of 7.Client-Server Systems 
resources from servers. • Salah satu bentuk khusus dari sistem terdistribusi 
• Example: The Web • Sebuah server biasanya memiliki seperangkat yang kaya
sumber daya (memori, cakram, kekuatan pemrosesan) yang
B. DATABASES tersedia. 
1. • Data is the most elementary kind of • klien A memiliki sumber daya lebih sedikit, tetapi dapat
information. meminta bagian sumber daya dari server. 
– Generally, data is that which can be represented • Contoh: Web 
by numbers.
Data Information Knowledge B. DATABASES 
– A database is a computer store of data 1. • Data adalah jenis yang paling dasar 
• ‘Information’ is usually used as the most informasi. 
general description of facts - Umumnya, data yang dapat diwakili 
• Knowledge = data + information + observation dengan angka-angka. 
+ experience + … Data Informasi Pengetahuan 
- Database adalah toko komputer data 
2. Transformations • 'Informasi' biasanya digunakan sebagai yang paling 
• Information Data umum deskripsi fakta 
– Digitizing books • Pengetahuan = data informasi observasi 
• Data Information   pengalaman ... 
– Data mining
2. Transformasi 
3. Organising data in a database • Data Informasi 
• The most common way: the relational model - Mendigitalkan buku 
• Data Informasi 
4.Relational Database - Data mining 
• A relational database consists of tables or files.
• Each table contains a set of records 3. Pengorganisasian data dalam database 
• Each record is made up of a set of fields • Cara yang paling umum: model relasional 

5.Database Management 4.Relational Database 


System (DBMS) • Sebuah database relasional terdiri dari tabel atau file. 
• To access the information and manipulate the database • Setiap tabel berisi kumpulan catatan 
• However the user interacts with the DBMS, the software will • Setiap record terdiri dari satu set bidang 
generate queries in a specialized query language
– The most widely used: Structured Query Language (SQL) 5. Manajemen Database 
– Example: SELECT Postcode FROM addresses WHERETown = System (DBMS) 
“York” • Untuk mengakses informasi dan memanipulasi database 
• Namun pengguna berinteraksi dengan DBMS, perangkat
6. Geographical Information Systems lunak akan menghasilkan query dalam bahasa query khusus 
• collection and storage of information that is geographically - Yang paling banyak digunakan: Structured Query Language
related (SQL) 
- Contoh: SELECT Kode Pos DARI alamat WHERETown = "York" 
7. Some issues
• Data integrity 6. Sistem Informasi Geografis 
• Security • Pengumpulan dan penyimpanan informasi geografis yang
• Distributed database terkait 

7. Beberapa masalah 
• Integritas data 
• Keamanan 
• Terdistribusi database
Introduction to Computer Graphics, Sound, Image Processing, Pengantar Komputer Grafis, Sound, Pengolahan Gambar,
Multimedia Multimedia
1. Computer Graphics 1. Grafik Komputer
Object Description -> CG processes -> Images / animation 2D / Obyek Deskripsi - proses CG> -> Foto animasi 2D / 3D
3D ...
… / /-Mug -------------
//-mug------------- Perbedaan (
difference { serikat (
union { silinder (
cylinder { <0, -0.5,0>, <0,0.5,0>, 0,5
<0,-0.5,0>, <0,0.5,0>, 0.5 pigmen Kuning ())
pigment {Yellow} } silinder (
cylinder { <0, -0.6,0>, <0, -0.5,0>, 0,45
<0,-0.6,0>, <0,-0.5,0>, 0.45 pigmen Kuning ())
pigment {Yellow} } torus (
torus { 0,3, 0,05
0.3, 0.05 pigmen) (Kuning
pigment {Yellow} memutar 90 * x
rotate 90*x menerjemahkan 0,5 * x)
translate 0.5*x } )
} silinder (
cylinder { <0, -0.48,0>, <0,0.55,0>, 0,45
<0,-0.48,0>, <0,0.55,0>, 0.45 Gray pigmen ())
pigment {Gray} } memutar 25 * y
rotate 25*y menerjemahkan <1.1,0.6, -0,5>
translate <1.1,0.6,-0.5> )
}
2. Pengolahan Citra
2. Image Processing Awal gambar -> Image Processing -> Lebih cocok gambar
Initial images -> Image Processing -> More suitable images Untuk: Film & Video,: rendering Kedokteran CT - volume
For : Films & Games, Medical: CT – volume rendering
3. Softwares
3. Softwares • Visio
• Visio • Auto CAD
• Auto CAD • 3ds Max (Autodesk)
• 3ds Max (Autodesk) • Maya (Autodesk)
• Maya (Autodesk) • Blender
• Blender POV-Ray •
• POV-Ray
4. ] Komputer [Sounds
4. [computer] Sounds • Akuisisi & rekaman
• Acquisitions & recording • Memproduksi & bermain
• Producing & playing • Penyimpanan
• Storing • Encoding & decoding
• Encoding & decoding • Analisis & pengakuan
• Analysis & recognition • Sintesis
• Synthesis Contoh
Examples • CD audio, WAV, MP3, MIDI, ...
• CD audio, WAV, MP3, MIDI, … • Pengenalan suara
• Speech recognition • Pidato teks
• Speech to text • Teks pidato
• Text to speech • Pidato pidato
• Speech to speech
5. Computer Vision
5. Computer Vision • Komputer visi membuat komputer belajar tentang
• Computer vision make a computer learn about bagaimana manusia dan hewan proses visual
how people and animals process visual informasi.
information. • Komputer visi berkaitan dengan kedua rendah
• Computer vision is concerned with both low dan tingkat tinggi pengolahan.
and high levels of processing. • Pada tingkat kesepakatan CV rendah dengan gambar visual
• At the low level CV deal with visual image representasi mengandung fitur tertentu
representation containing certain features yang penting (piksel, tepi, warna,
which are important (pixels, edges, colours, dan tekstur)
and texture)
6. Untuk:
6. For: - Industri Aplikasi: Sayuran Pemisahan, Karpet's Inspeksi
- Industrial Application: Vegetable Separation, Carpet’s Kualitas, Inspeksi Kualitas Botol's, Lukisan Road, Iklan televisi
Quality Inspection, Bottle’s Quality Inspection, Road Painting, Virtual
Virtual Television Advertising - Pengolahan Sampah
- Garbage Processing - Medical Imaging
- Medical Imaging - Lalu Lintas Aplikasi: navigasi Automobile
- Traffic Application: Automobile navigation - Biometrics: Deteksi Wajah dan Pengakuan, Peningkatan
- Biometrics: Face Detection and Recognition, Law Hukum
Enhancement - Beyond Visible (I): Gambar Termal - Beroperasi> pada
- Beyond Visible (I): Thermal Images -> Operate in infrared frekuensi inframerah
frequency - Beyond Terlihat (II): Radar Foto -> Beroperasi pada frekuensi
- Beyond Visible (II): Radar Images -> Operate in microwave gelombang mikro
frequency - Beyond Terlihat (III): MRI dan Astronomi -> Beroperasi pada
- Beyond Visible (III): MRI and Astronomy -> Operate in radio frekuensi radio
frequency
7. Visi Tingkat Rendah (pengolahan citra)
7. Low-Level Vision (image processing) Gambar proses pengolahan: seperangkat operasi yang
Image processing processes: set of operations performed on dilakukan pada gambar yang bertujuan meningkatkan kualitas
images aiming at enhancing their quality and selecting useful mereka dan memilih informasi yang bermanfaat, yang akan
information, which will be processed by humans or other diproses oleh manusia atau algoritma lainnya
algorithms
8. Mid-Level Visi (analisa citra)
8. Mid-Level Vision (image analysis) Termasuk ekstraksi informasi simbolis dari gambar pra-
Includes extraction of symbolic information from pre- diproses dan teknik analisis karakteristik visual dari objek yang
processed images and analysis techniques of the visual di gambar
characteristics of the objects that are in the images
9. Visi Tingkat Tinggi (pemahaman gambar)
9. High-Level Vision(image understanding) Bertujuan untuk mendapatkan beberapa pemahaman "" dari
Aims at obtaining some “comprehension” of the observed adegan diamati, sebagai bentuk pengakuan
scene, as shape recognition atau hubungan antara objek-objek spasial. Termasuk proses
or spatial relationship among objects. It includes high-level abstraksi tingkat tinggi:
abstraction processes: • Klasifikasi
•Classification • Identifikasi
•Identification • Pelokalan
•Localization
10. Multimedia
10. Multimedia • Informasi: direpresentasikan dalam bentuk digital.
• Information: represented in a digital form. • dapat diolah, dikomunikasikan, dan
• it can be processed, communicated, and disajikan pada peralatan komputer
presented on computer equipment • media yang berbeda adalah teks, grafis,
• different media are text, graphics, foto, gambar video dan suara
photographs, video images and sound
Introduction to Human-Computer Interaction & Natural Pengantar Interaksi Manusia-Komputer & Komputasi Bahasa
Language Computing Alam 
A. HUMAN-COMPUTER INTERACTION A. INTERAKSI MANUSIA-KOMPUTER 
1. Why? 1. Mengapa? 
• These frustrations are often caused by the design of the • frustrasi ini biasanya disebabkan oleh desain antarmuka
interface between the user and the software: the human antara pengguna dan perangkat lunak: interface komputer
computer interface. manusia. 
• the people who design the interface are not familiar with • orang-orang yang desain antarmuka tidak akrab dengan alat,
tools, techniques and principles that have been developed to teknik dan prinsip-prinsip yang telah dikembangkan untuk
improve interface design memperbaiki desain antarmuka 

2. Define: HCI 2. Menetapkan: HCI 


• "a discipline concerned with the design, evaluation and • "disiplin yang berkaitan dengan desain, evaluasi dan
implementation of interactive computing systems for human implementasi sistem komputer interaktif untuk digunakan
use and with the study of major phenomena surrounding manusia dan dengan studi fenomena besar di sekitar
them." mereka." 

3. Guidance 3. Bimbingan 
a. Strive for consistency a. Upaya untuk konsistensi 
b. Enable frequent user shortcuts b. Cara pintas memungkinkan pengguna sering 
c. Offer informative feedback c. Penawaran umpan balik informatif 
d. Design dialogues to yield closure d. Desain dialog untuk menghasilkan penutupan 
e. Offer error prevention e. Penawaran pencegahan kesalahan 
f. Permit easy reversal of actions f. Izin mudah tindakan pemulihan 
g. Support internal locus of control g. Dukungan lokus kontrol internal 
h. Reduce short-term memory load. h. Mengurangi beban memori jangka pendek. 

4. simply following rules is not enough 4. hanya mengikuti aturan tidak cukup 
• People must be involved in the development and evaluation • Orang harus terlibat dalam pengembangan dan evaluasi
of interfaces antarmuka 
• Techniques to eliciting the required knowledge: • Teknik untuk eliciting pengetahuan yang dibutuhkan: 
– focus groups, interviews, questionnaires - Kelompok fokus, wawancara, kuesioner 
– Prototyping: users get to try out something which looks like - Prototyping: pengguna mendapatkan untuk mencoba
the proposed design sesuatu yang tampak seperti desain yang diusulkan 

5. Non (keyboard, screen and mouse) 5. Tanpa (keyboard, layar dan mouse) 
• “Pervasive computing” everyware • "Pervasif komputasi"? Everyware 

B. NATURAL LANGUAGE COMPUTING B. Komputasi ALAMI Bahasa 


1. Issues 1. Isu 
• natural languages (such as English or French) ambiguity • Bahasa alami (seperti bahasa Inggris atau Perancis)?
• it is desirable for a computer to have some level of Ambiguitas 
‘understanding’ of natural language. • itu diinginkan untuk sebuah komputer memiliki beberapa
– the user can generate input in natural language and the tingkat 'pemahaman' bahasa alam. 
program will be able to extract some form of meaning out of - Pengguna dapat menghasilkan masukan dalam bahasa alam
it. dan program ini akan mampu mengekstrak beberapa bentuk
– Ideally that meaning should be the same as that which a makna dari itu. 
human listener would have extracted - Idealnya bahwa makna harus sama dengan yang pendengar
manusia akan memprosesnya 
2. recognition
• Speech recognition: translating the sounds of speech into 2. pengakuan 
their textual representation • Pengenalan suara: menerjemahkan suara menjadi
• A textual input – from a keyboard or a speech recognizer – representasi tekstual pidato mereka 
can then be processed in an attempt to extract its meaning • Sebuah masukan tekstual - dari keyboard atau pengenal
pidato - kemudian dapat diproses dalam upaya untuk
3. Context mengekstrak maknanya 
• Syntax of the language – grammar
– sentence = subject verb object 3. Konteks 
• Semantics – meaning • Sintaks dari bahasa - tata bahasa 
• ‘Anomalies’ in languages - Kalimat = objek subjek verba 
• Semantics - arti 
• 'Anomali' dalam bahasa
Introduction to Document Processing & Information Retrieval Pengantar Dokumen Pemrosesan & Information Retrieval 
A. DOCUMENT PROCESSING A. DOKUMEN PENGOLAHAN 
1. Word processing 1. Pengolah kata 
• “Document Processing” • "Dokumen Pengolahan" 
• The writer think about: • Penulis berpikir tentang: 
– The contents - Isi 
– The layout - Layout 
• WYSIWYG • WYSIWYG 
• Features: spelling checker, etc. • Fitur: pemeriksa ejaan, dll 

2. Text processing 2. Pengolahan teks 


• The writer concerned primarily on the content • Penulis prihatin terutama pada konten 
• Marked-up document • Ditandai-up dokumen 
• Most useful for scientific writing • Sebagian besar berguna untuk penulisan ilmiah 
• Latex • Lateks 
– \textnormal{Sometimes \emph{we \emph{discover} - \ Textnormal (Terkadang \ emph (kita \ emph (menemukan))
unpleasant} truths.} kebenaran yang tidak menyenangkan.) 
– Sometimes we discover unpleasant truths. - Kadang-kadang kita menemukan kebenaran yang tidak
menyenangkan. 
3. Document Protection
• Copyright 3. Perlindungan Dokumen 
• Security • Hak Cipta 
• Etc. • Keamanan 
• Dll 
B. INFORMATION RETRIEVAL
1. Definitions B. Information Retrieval 
• Information retrieval (IR) is the science of searching for 1. Definisi 
documents, for information within documents, and for • Pengambilan Informasi (IR) adalah ilmu untuk mencari
metadata about documents, as well as that of searching dokumen, untuk informasi dalam dokumen, dan untuk
relational databases and the World Wide Web (wikipedia.org) metadata tentang dokumen, serta pencarian database yang
• The study of systems for indexing, searching, and recalling relasional dan World Wide Web (wikipedia.org) 
data, particularly text or other unstructured forms. • Studi tentang sistem untuk pengindeksan, pencarian, dan
(www.virtechseo.com/seoglossary.htm) mengingat data, khususnya teks atau bentuk tidak terstruktur
• (IR) part of computer science which studies the retrieval of lainnya. (Www.virtechseo.com / seoglossary.htm) 
information (not data) from a collection of written • (IR) bagian dari ilmu komputer yang mempelajari proses
documents. The retrieved documents aim at satisfying a user pengambilan informasi (tidak data) dari sebuah koleksi
information need usually expressed in natural language. dokumen tertulis. Dokumen diambil bertujuan memuaskan
(www.seomoz.org/blog/a-glossary-of-information- kebutuhan informasi pengguna biasanya dinyatakan dalam
retrievalterminology) bahasa alami. (Www.seomoz.org / blog / a-glossary-of-
informasi-retrievalterminology) 
2. Text: Web
• Search engine 2. Teks: Web 
– PageRank • mesin pencari 
- PageRank 
3. Text: Document
• tf-idf 3. Teks: Dokumen 
– Term Frequency • tf-IDF 
– Inverse Document Frequency - Jangka Frekuensi 
- Frekuensi Inverse Document
IIntroduction to Artificial Intelligence IIntroduction untuk Kecerdasan Buatan
1. 2 strands of AI 1. 2 untai AI
• To study the nature of intelligence • Untuk mempelajari sifat kecerdasan
– related to psychology; ‘cognitive’ - Terkait dengan psikologi; 'kognitif'
– Build model of intelligent behavior ?learn about the way - Membangun model perilaku cerdas? Belajar tentang cara
humans and other animals might achieve similar results manusia dan hewan lainnya dapat mencapai Hasil serupa
• To try to make computers perform tasks with intelligence • Untuk mencoba membuat komputer melakukan tugas
– “Computationally difficult” dengan
Example: Optical Character Recognition intelijen
- "Komputasi sulit"
2. AI tends to be applied to… Contoh: Karakter Pengakuan Optik
• Problems in which there is a lot of data and/or data that is
uncertain. 2. AI cenderung diterapkan pada ...
• Problems which are so complex that it can be proved that • Masalah yang di dalamnya ada banyak data dan / atau data
no algorithm exists that will solve them – or in some cases at yang tidak pasti.
least not in a reasonable time • Masalah yang begitu kompleks yang dapat dibuktikan bahwa
Example: chess computer tidak ada algoritma yang akan memecahkan mereka - atau
dalam beberapa kasus setidaknya tidak dalam waktu yang
3. philosophical debate wajar
• “what is intelligence, and how do we know if we find it – in Contoh: komputer catur
people or in machines?”
• two major camps: 3. perdebatan filosofis
– strong AI : • "apa yang kecerdasan, dan bagaimana kita tahu jika kita
• it is – or will be – possible to make computers think menemukan itu - pada orang atau mesin?"
– weak AI • dua kamp utama:
• we are interested in producing behavior in computers that - Kuat AI:
appears to be intelligent • itu adalah - atau akan - mungkin untuk membuat komputer
berpikir
4. Turing Test - Lemah AI
• proposed by Alan Turing in his 1950 paper Computing • kami tertarik dalam memproduksi perilaku di komputer yang
Machinery and Intelligence tampaknya cerdas
• Question:
"Can machines think?“ 4. Turing Test
• Revised question: • diusulkan oleh Alan Turing pada tahun 1950 korannya
"Can machines do what we (as thinking entities) can do?" Komputasi Mesin dan Intelijen
• Pertanyaan:
5. AI: Agents "Dapatkah mesin berpikir?"
• intelligent agents, rational agents . . . • Revisi pertanyaan:
• AI = "the study and design of intelligent agents," "Bisakah mesin melakukan apa yang kita (sebagai entitas
– an intelligent agent = a system that perceives its berpikir) bisa melakukan?"
environment and takes actions that maximize its chances of
success 5. AI: Agen
• cerdas agen, agen rasional. . .
6. Some problems • AI = "studi dan desain agen cerdas,"
• Deduction, reasoning, problem solving - Agen cerdas = suatu sistem yang memandang lingkungannya
• Knowledge representation dan mengambil tindakan yang memaksimalkan kesempatan
• Planning keberhasilannya
• Learning
• Natural language processing 6. Beberapa masalah
• Motion and manipulation • Pengurangan, penalaran, pemecahan masalah
• Perception • Pengetahuan representasi
• Social intelligence • Perencanaan
• Creativity • Belajar
• General intelligence • Alam pengolahan bahasa
• Gerak dan manipulasi
7. AI Tools • Persepsi
• Search and optimization • Sosial intelijen
– Search algorithm, Optimization, Evolutionary computation • Kreativitas
• Logic • Umum intelijen
– Logic programming, Automated reasoning, Fuzzy Logic, …
• Probabilistic methods for uncertain reasoning 7. AI Tools
– Bayesian network, Hidden Markov model, Kalman filter, • Cari dan optimasi
Decision theory, Utility theory - Algoritma pencarian, Optimasi, perhitungan Evolusi
• Classifiers and statistical learning methods • Logika
– Classifiers , Statistical classification, Machine learning, … - Logika pemrograman, otomatis penalaran, Fuzzy Logic, ...
• Neural networks • Probabilistik metode untuk alasan yang tidak pasti
• Control theory - Bayesian jaringan, Model Markov tersembunyi, filter Kalman,
• Programming language for AI teori keputusan, teori Utility
• Klasifayer dan statistik metode pembelajaran
8. Another examples - Klasifayer, Statistik klasifikasi, Mesin belajar, ...
• AI 2.0 • Jaringan Syaraf
– the system collaborates with a large number of people to • Kontrol teori
solve a problem, then collects, interprets, ranks and • Bahasa pemrograman untuk AI
integrates their solutions
8. Contoh lain
• AI 2,0
- Sistem bekerja sama dengan sejumlah besar orang untuk
memecahkan masalah, kemudian mengumpulkan,
menafsirkan, pangkat dan mengintegrasikan solusi mereka
Introduction to Security & Privacy Pengenalan Keamanan & Privasi
1. Cryptography: Requirements 1. Kriptografi: Persyaratan
• Basic: be able to turn plaintext into ciphertext in such a way • Dasar: dapat mengubah plaintext menjadi ciphertext
that only the intended recipient—the holder of the sedemikian rupa sehingga hanya penerima-dimaksudkan
decryption key— can recover the plaintext pemegang kunci dekripsi dapat memulihkan plaintext
• secrecy of the key, and not of the algorithm itself, is the only • kerahasiaan kunci, dan bukan dari algoritma itu sendiri,
thing that is needed to ensure the privacy of the data adalah satu-satunya yang diperlukan untuk menjamin privasi
data
2. RSA (cont)
• Choose two large prime numbers p and q (each 256 bits) 2. RSA (cont)
• Multiply p and q together to get n • Pilih dua bilangan prima besar p dan q (masing-masing 256
• Choose the encryption key e, such that e and (p - 1) x (q - 1) bit)
are relatively prime. • Multiply p dan q bersama-sama untuk mendapatkan n
• Two numbers are relatively prime if they have no common • Pilih kunci enkripsi e, sehingga e dan (p - 1) x (q - 1) adalah
factor greater than one relatif prima.
• Compute decryption key d such that d = e-1mod ((p - 1) x (q • Dua bilangan relatif prima jika mereka tidak memiliki faktor
- 1)) umum yang lebih besar dari satu
• Construct public key as (e, n) • Hitung kunci dekripsi d seperti yang d = e-1mod ((p - 1) x (q -
• Construct private key as (d, n) 1))
• Discard (do not disclose) original primes p and q • Membangun kunci publik sebagai (e, n)
• Buatlah sebagai kunci pribadi (d, n)
3. RSA: small example • Buang (tidak mengungkapkan) asli bilangan prima p dan q
• Suppose we pick p = 7 and q = 11.
• n = 7 × 11 = 77; ( p − 1) × (q − 1) = 60 3. RSA: contoh kecil
• Pick a value of e that is relatively prime to 60. We choose e • Misalkan kita memilih p = 7 dan q = 11.
=7 • n = 7 × 11 = 77; (p - 1) × (q - 1) = 60
• d = 7−1 mod ((7 − 1) × (11 − 1)) • Pilih nilai e yang relatif prima dengan 60. Kita memilih e = 7
– 7 × d = 1 mod 60 • d = 7-1 mod ((7 - 1) × (11 - 1))
– It turns out that d = 43, since 7 × 43 = 301 = 1 mod 60 - 7 × d = 1 mod 60
• So now we have the public key e, n = 7, 77 and the private - Ternyata d = 43, sejak 7 × 43 = 301 = 1 mod 60
key d, n = 43, 77 • Jadi sekarang kita memiliki kunci publik e, n = 7, 77 dan kunci
privat d, n = 43, 77
4. RSA: small example (cont’d)
• Encryption: Message = 9 4. RSA: kecil contoh (cont'd)
c = me mod n • Enkripsi: Pesan = 9
= 97 mod 77 c = n me mod
= 37 ?chipertext = 97 mod 77
• Decryption: Chipertext = 37 = 37? Chipertext
m = cd mod n • Dekripsi: chipertext = 37
= 3743 mod 77 m mod n = cd
= 9 ?plaintext = 3743 mod 77
= 9? Plaintext
5. Message Digest
• Cryptographic checksum 5. Pesan Digest
– just as a regular checksum protects the receiver from • Cryptographic checksum
accidental changes to the message, a cryptographic checksum - Hanya sebagai checksum biasa melindungi penerima dari
protects the receiver from malicious changes to the message. perubahan yang disengaja ke dalam pesan, sebuah checksum
• One-way function kriptografi melindungi penerima dari perubahan jahat untuk
– given a cryptographic checksum for a message, it is virtually pesan.
impossible to figure out what message produced that • Satu-fungsi cara
checksum; it is not computationally feasible to find two - Diberi checksum kriptografi untuk pesan, hampir tidak
messages that hash to the same cryptographic checksum. mungkin untuk mencari tahu apa pesan diproduksi checksum
• Relevance itu; komputasi tidak layak untuk menemukan dua pesan yang
– if you are given a checksum for a message and you are able hash ke checksum kriptografi yang sama.
to compute exactly the same checksum for that message, • Relevansi
then it is highly likely this message produced the checksum - Jika Anda diberi checksum untuk pesan dan Anda dapat
you were given. menghitung checksum yang sama persis untuk pesan itu, maka
kemungkinan besar pesan ini menghasilkan checksum yang
6. Authentication Protocols Anda diberikan.
• Three-way handshake
• Client & Server share a secret key 6. Protokol Otentikasi
• Trusted third party (Kerberos) • Tiga cara handshake
• Authentication Server • Klien & Server berbagi kunci rahasia
• A and B each share a secret key with S (KA & KB) • Trusted pihak ketiga (Kerberos)
• Public key authentication • Otentikasi Server
• A dan B masing-masing berbagi kunci rahasia dengan S (KA &
7. Message Integrity Protocols KB)
• Digital signature using RSA • otentikasi kunci publik
– special case of a message integrity where the code can only
have been generated by one participant 7. Pesan Protokol Integritas
– compute signature with private key and verify with public • Digital signature menggunakan RSA
key - Khusus kasus integritas pesan mana kode hanya dapat telah
• Keyed MD5 dihasilkan oleh salah satu peserta
– sender: m MD5(m k) E(k, private) - Menghitung tanda tangan dengan kunci pribadi dan
– sender: m MD5(m k) E(E(k, rcv-pub), private) memverifikasi dengan kunci publik
– receiver Bersemangat • MD5
• recovers random key using the sender’s public key - Pengirim: MD5 m (m k) E (k, swasta)
• applies MD5 to the concatenation of this random key - Pengirim: m MD5 (mk) E (E (k, RCV-pub), swasta)
message - Penerima
• MD5 with RSA signature • pulih kunci acak dengan menggunakan kunci publik pengirim
– sender: m E(MD5(m), private) • berlaku MD5 ke Rangkaian pesan ini kunci acak
– receiver • MD5 dengan tanda tangan RSA
• decrypts signature with sender’s public key - Pengirim: m E (MD5 (m), swasta)
• compares result with MD5 checksum sent with message - Penerima
• dekripsi signature dengan kunci publik pengirim
8. Key Distribution • membandingkan hasilnya dengan checksum MD5 dikirim
• Certificate dengan pesan
– special type of digitally signed document:
“I certify that the public key in this document belongs to the 8. Distribusi kunci
entity named in this document, signed X.” • Sertifikat
– the name of the entity being certified - Khusus tipe dokumen digital ditandatangani:
– the public key of the entity "Saya menyatakan bahwa kunci publik dalam dokumen ini
– the name of the certified authority dimiliki oleh entitas yang disebutkan dalam dokumen ini,
– a digital signature ditandatangani X."
• Certified Authority (CA) - Nama entitas yang bersertifikat
– administrative entity that issues certificates - Kunci publik entitas
– useful only to someone that already holds the CA’s public - Nama otoritas bersertifikat
key. - Tanda tangan digital
• Certified Authority (CA)
9. Key Distribution (cont) - Administrasi entitas bahwa isu-isu sertifikat
• Chain of Trust - Berguna hanya untuk orang yang sudah memegang kunci
– if X certifies that a certain public key belongs to Y, and Y publik CA.
certifies that another public key belongs to Z, then there
exists a chain of certificates from X to Z 9. Kunci Distribusi (cont)
– someone that wants to verify Z’s public key has to know X’s • Rantai Kepercayaan
public key and follow the chain - Jika X mengesahkan bahwa kunci publik tertentu milik Y, dan
• Certificate Revocation List Y mengesahkan kunci publik yang lain milik Z, maka terdapat
suatu rantai sertifikat dari X ke Z
10. Pretty Good Privacy (PGP) - Seseorang yang ingin memverifikasi kunci publik Z harus
• Used in email mengetahui kunci publik X dan ikuti rantai
• PGP integrity & authentication • Daftar Pencabutan Sertifikat

11. Secure Shell (SSH) 10. Pretty Good Privacy (PGP)


• provides a remote login service • Digunakan dalam email
• intended to replace the less secure Telnet and rlogin • PGP integritas & otentikasi
programs
11. Secure Shell (SSH)
12. Transport Layer Security (TLS) • menyediakan layanan remote login
• TLS, SSL, HTTPS • dimaksudkan untuk menggantikan Telnet kurang aman dan
rlogin program
13. IP Security (IPSec)
• a framework for providing all the security services 12. Transport Layer Security (TLS)
• consists of two pieces: • TLS, SSL, HTTPS
– The first piece is a pair of protocols that implement the
available security services. 13. Keamanan IP (IPSec)
• Authentication Header (AH): provides access control, • kerangka kerja untuk menyediakan semua layanan
connectionless message integrity, authentication, and keamanan
antireplay protection • terdiri dari dua bagian:
• Encapsulating Security Payload (ESP), which supports these - Potongan pertama adalah sepasang protokol yang
same services, plus confidentiality melaksanakan dinas keamanan yang tersedia.
– The second piece is support for key management, which fits • Authentication Header (AH): menyediakan kontrol akses,
under an umbrella protocol known as ISAKMP: Internet integritas pesan connectionless, otentikasi, dan perlindungan
Security Association and Key Management Protocol antireplay
• Keamanan encapsulating Payload (ESP), yang mendukung
14. Firewalls berbagai layanan yang sama, ditambah kerahasiaan
Rest of the Internet -> Firewall -> Local site - Bagian kedua adalah dukungan untuk manajemen kunci,
• Filter-Based Solution yang cocok di bawah payung protokol dikenal sebagai ISAKMP:
– example Internet Security Association dan Protokol Manajemen Kunci
( 192.12.13.14, 1234, 128.7.6.5, 80 )
(*,*, 128.7.6.5, 80 ) 14. Firewall
– default: forward or not forward? Istirahat Internet -> Firewall - situs Lokal>
– how dynamic? • Filter Berbasis Solusi
- Contoh
15. Proxy-Based Firewalls (192.12.13.14, 1234, 128.7.6.5, 80)
• Problem: complex policy (*,*, 128.7.6.5, 80)
• Example: web server - Default: maju atau tidak maju?
• Solution: proxy - Bagaimana dinamis?
• Design: transparent vs. classical
• Limitations: attacks from within 15. Proxy-Based Firewall
• Masalah: kebijakan yang kompleks
• Contoh: Server web
• Solusi: proxy
• Desain: transparan vs klasik
• Keterbatasan: serangan dari dalam
Introduction to Theoretical Computing Pengantar Komputasi Teoritis 
1. Computer “Science”? 1. Komputer "Ilmu"? 
• there are a set of mathematical results, tools and • ada satu set hasil matematika, alat dan teknik 
techniques • beberapa implikasi yang sangat besar bagi apa yang dapat
• some of which have profound implications for what can or atau tidak dapat dilakukan pada komputer 
cannot be done on computers • dan beberapa alat yang berguna untuk Scientific Komputer 
• and some of which are useful tools for the Computer
Scientist 2. Mesin Turing 
• alat-alat yang paling penting untuk teori 
2. Turing Machine • bukan mesin yang sesungguhnya, tapi yang teoritis, dasar
• the most important tools for theory pemikiran untuk percobaan. 
• not a real machine but a theoretical one, a basis for thought • Ini adalah 'diciptakan' oleh matematikawan Alan Turing
experiments. bahkan sebelum komputer nyata ada 
• It was ‘invented’ by mathematician Alan Turing even before • sebagai komputer mungkin yang paling dasar. 
any real computers existed • Ini termasuk rekaman berisi simbol (nol, satu dan kosong). 
• as the most elementary possible computer. • Simbol dapat ditulis pada pita oleh mesin, dan juga dibaca
• It includes a tape containing symbols (zeros, ones and oleh itu. 
blanks). • Mesin tersebut dapat salah satu dari beberapa negara. 
• The symbols can be written on the tape by the machine, and • Mesin ini memiliki program yang hanya satu set instruksi
also read by it. dalam bentuk: 
• The machine can be in any one of a number of states. - Jika di negara S, dengan simbol B dalam rekaman, kemudian
• The machine has a program which is just a set of melakukan tindakan A. 
instructions of the form:
– If in state S, with symbol B on the tape then perform action 3. Tindakan diizinkan: 
A. • memindahkan rekaman satu tempat ke kiri 
• memindahkan rekaman satu tempat ke kanan 
3. Actions allowed: • membaca simbol dalam sel saat ini 
• move the tape one place to the left • menulis 1 pada pita 
• move the tape one place to the right • menulis 0 pada rekaman itu. 
• read the symbol in the current cell
• write a 1 on the tape 4. Gereja-Turing Tesis 
• write a 0 on the tape. • tidak ada komputer yang pernah dapat dibangun bisa lebih
kuat (dalam hal apa yang bisa dan tidak bisa menghitung) dari
4. Church-Turing Thesis Mesin Turing. 
• no computer that could ever be built could be more - Semua komputer sama-sama terbatas 
powerful (in terms of what it can and cannot compute) than a
Turing Machine. 5. Batas untuk apa yang dapat dilakukan oleh komputer 
– all computers are equally limited • Ada masalah-masalah yang tidak memiliki solusi yang dapat
dihitung, dan dapat dibuktikan bahwa tidak mungkin untuk
5. Limits to what can be done by computer menulis sebuah program komputer untuk menyelesaikannya. 
• There are problems that do not have computable solutions, • Masalah-masalah ini dikatakan diputuskan atau
and it can be proved that it is not possible to write a noncomputable. 
computer program to solve them. • Masalah seperti pertama-dikenal: Masalah Menghentikan?
• These problems are said to be undecidable or Diputuskan atas Mesin Turing 
noncomputable.
• The first-known such problem: the Halting Problem ? 6. Menghentikan Masalah 
undecideable over Turing Machine • Komputer crash / hang 
• Tampaknya harus melakukan apa-apa dan tidak responsif
6. Halting Problem terhadap setiap masukan? Melakukan apa-apa yang sangat 
• Computer crash / hang cepat (terjebak dalam satu lingkaran) 
• It appears to be doing nothing and is unresponsive to any • Ini akan sangat berguna jika mungkin untuk menulis sebuah
inputs ?doing nothing very program yang dapat menguji program lain dan mengatakan
fast (stuck in a loop) apakah itu adalah kasus bahwa program diuji akan selalu
• It would be useful if it were possible to write a program that berhenti - tidak pernah menjadi terjebak dalam satu lingkaran
can test other programs and say whether it is the case that - untuk semua masukan mungkin untuk program yang 
the tested program will always halt – never become stuck in a
loop – for all the possible inputs to that program 7. Mustahil 
• Pada kenyataannya, adalah mungkin untuk membuktikan
7. Impossible bahwa secara logika tidak mungkin untuk menulis seperti
• In fact, it is possible to prove that it is logically impossible to program pemeriksaan. 
write such a checking program. • Ini adalah hasil pertama terbukti oleh Alan Turing - sebelum
• This was a result first proved by Alan Turing – before komputer ada - dan digambarkan dalam bentuk imajinernya
computers existed – and described in terms of his imaginary Mesin Turing 
Turing Machine • Menghentikan Masalah diputuskan ≈ 
• Undecidable ≈ Halting Problem
8. Kesulitan lain 
8. Another difficulties ≈ • ≤ membutuhkan solusi efisien waktu dan ruang polinomial 
• efficient solution ≈ takes ≤ polynomial time and space Jika 64 = n, maka 2n ≈ 1,84 x 1019 
If n = 64, then 2n ≈ 1.84 x 1019 Anggaplah bahwa komputer dapat mengeksekusi satu juta
Suppose that the computer could execute one million of the instruksi / detik, maka akan mengambil 1,84 x 1013 detik (≈
instructions / second, then it would take 1.84 x 1013 seconds 583.000 tahun) 
(≈ 583,000 years)
9. Untuk algoritma tidak efisien ... 
9. For inefficient algorithm… • kita bisa kirim programmer kita bahkan tidak mengganggu
• we might tell our programmer not even to bother starting, mulai, tapi mungkin untuk berpikir tentang memecahkan
but perhaps to think about solving a simpler version of the sebuah versi sederhana dari masalah. 
problem. • kita mungkin akan puas dengan solusi yang bekerja bagi
• we might be content with a solution that works for most – sebagian besar - tetapi tidak semua - input, atau satu 
but not all – inputs, or one yang kita tahu akan memberikan sesuatu yang dekat dengan
which we know will give something close to the best possible sebaik-baiknya (optimal) jawaban 
(optimal) answer
10. Ambil alam yang berbeda 
10. Take a different realms • jika tidak mungkin untuk mendapatkan solusi sempurna,
• if it is not possible to derive a perfect solution, then we are maka kita bergerak menuju realms Kecerdasan Buatan, yang
moving towards the realms of Artificial Intelligence, which cenderung untuk mengambil pendekatan yang sangat berbeda
tends to take a very different approach to its problems untuk masalah yang 
• Exp: imprecise computation system • Exp: sistem perhitungan tidak tepat 

11. Error-free program 11. Kesalahan-program gratis 


• One approach to ensuring good, bug-free software is: • Salah satu pendekatan untuk memastikan baik, software
– to build a mathematical representation of the program bug-bebas adalah: 
– to prove its properties using the rules of logic - Untuk membangun sebuah representasi matematis dari
• it can be possible to prove that a particular program will program 
always behave in a particular way, regardless of the language - Untuk membuktikan sifat dengan menggunakan aturan
it is written in and the hardware on which it runs logika 
• dapat mungkin untuk membuktikan bahwa sebuah program
tertentu akan selalu berperilaku dengan cara tertentu,
terlepas dari bahasa yang tertulis di dalam dan perangkat
keras yang berjalan

Anda mungkin juga menyukai