Santika WP
Departemen Teknik Informatika
Institut Teknologi Bandung
KOMPUTASI
Pengertian Dasar
- Komputerisasi
– masuk ke dalam lingkungan masyarakat yang dikelilingi sistem-sistem berbasis komputer (ubiquitous)
– to carry out, control, or conduct by means of a computer.
– Contoh ubiquitous systems: hand phone, personal digital assistance (PDA) / personal entertainment
organizer (PEO).
- Komputerisasi, connections:
– miniaturization - sistem berbasis komputer akan makin kecil
– personalization - perusahaan pembuat akan menciptakan berbagai jenis pilihan,
warna, dll. Sesuai selera komsumen
– mobility - sistem bersambung ke layanan mobile
– portability - sistem bisa dibawa kemanapun
– multimedia - palm pilots dirancang untuk dapat akses
pada media beragam: graphics, text, voice
- Apa arti
– Compute ?
– Computing [general-purpose] ?
– Computation ?
– Automation / Otomation ?
- Beda antara:
– Non Universal [computation] = komputasi dengan metoda yang jelas.
- Contoh
• makan sepotong, bayar 2500
• makan 2 potong, bayar 5000
• makan 4 potong, bayar 10000
– Harga(/p) = 20000 / 8
– Pizza berbentuk lingkaran, radius r
– Luas pizza [lingkaran] = p x r2
– Luas sepotong pizza = 1/8(p x r2)
– Bila r=20 cm, berapa harga per cm2 ?
– Komputasi universal / non universal ?
• Entry: computation
• Function: noun
• Definition: calculation
• Synonyms: ciphering, computing, counting, data
processing, estimating, estimation, figuring, guess,
reckoning, summing, totaling
• Antonyms: conjecture, guessing, guesswork
• Concept: mathematical reasoning
• Source: Roget's Interactive Thesaurus, First Edition (v 1.0.0),Copyright
© 2003 by Lexico Publishing Group, LLC. All rights reserve
Pemrograman
- Program ~ å instruksi untuk komputer
- Pemrograman ~ aktifitas runut pembuatan
program:
– Pendefinisian masalah
– [Deskripsi metoda formal]
– Penyusunan algoritma [/flowchart]
– Penulisan instruksi (coding) menggunakan sebuah
bahasa formal
– Uji coba & perbaikan kesalahan (debugging)
– Run program
– Dokumentasi - Algoritma (algorithm) ~ pseudocode
– (rules) untuk menyelesaikan suatu masalah
– Langkah-langkah logis dideskripsi tekstual dengan
pola baku untuk menyelesaikan suatu masalah. - Program
– Hasil koversi algoritma ke kode [bahasa program].
– Spesifikasi rinci sebuah komputasi. - Bahasa Program
– Sebuah notasi untuk mendeskripsi sebuah
program. - Diagram alir (flowchart)
– program flowchart: hasil
konversi sebuah algoritma
dengan menggunakan simbol
baku [ANSI/IBM]
– system flowchart - Struktur baku flowchart
– Runtut (sequential / linear)
– Alternatif/pilihan/seleksi
(alternative/selection)
– Berulang (loop/repetition) - Generasi Bahasa Program
– [www.cs.qub.ac.uk/~J.Campbell/myweb]
– G-0 [ …. 1954]: mesin, asembli
– G-1 [54 - 58]: FORTRAN, ALGOL
– G-2 [59 - 61]: COBOL, APL, LISP
– G-3 [62 - 70]: BASIC, PL/I, Pascal, SIMULA
– G-4 [70 - 80]: Smalltalk, C, Prolog
– G-5 [80 - 2000 ?]: Modula, Ada, C++, Miranda,
Dephi, Perl, Agent-Tcl, Java, Web-oriented.
– G-6 [2001 …… ] ?? - Imperative / algorithmic Paradigm
– program dipandang sebagai rentetan instruksi (imperative
[Latin] = imperare to command); komputer diperintah untuk
mengerjakan sederet step, tiap step ada perubahan dalam isi
dan status tiap elemen memori.
– Secara implisit atau eksplisit program yang dibuat berbasis
pada konsep arsitektur komputer von Neumann.
– Struktur program merupakan kombinasi dari pola-pola:
· Sequence.
· Selection.
· Repetition.
· Procedural Abstraction
· Procedural Abstraction with parameter(s). - Declarative Paradigm
– Program merupakan kumpulan declarations of
functions, and/or facts
• PROLOG. Predicate logic.
• Functional. Functions and application of these functions.
– Declarative ~ mean that we achieve a program
simply by declaring the specification of length.
– Functional ~ mean a pure mathematical
function, [one which takes an argument and
returns a result - no side-effects such as change
of state (memory contents)]. - Object-oriented Paradigm
– Dalam bahas yang murni OO, objects adalah
separate entities yang merepresentasikan state
and the means to compute.
– Filosofi
• OOA + OOD = OOAD
• OOL : C++, Java, Modula-2, Newton Script, ADA
• OOP
• OODB --> OODBMS
– C++ dapat dipandang sebagai sebuah bahasa
hibrid, imperative/object-oriented language - Metode Terstruktur
– ~ metodologi berdasar pada structure & discipline
bagaimana membuat sebuah program: bentuk /
pola, proses desain, pengkodean, dan uji coba.
– Objektif
• readability
• efficiency
• reliability
• discipline (systematic & integrity)
• reduce cost
– GOTO-less programming
- Metode Modular
– ~ organizing a program into small, independent
units [modules].
– Goals
• Cacah program menjadi bagian-bagian kecil.
• Cacah masalah menjadi lebih kecil & sederhana.
• Verifikasi kebenaran penggunaan tiap modul program
independently sebagai bagian dari sistem lebih besar.
– Properties
• tiap modul: simple, closed, discrete & visible, separately
testable
• tiap modul hanya memiliki single entry & exit point. - Metode Stepwise Refinement
– Proses dikerjakan dengan runtutan langkah pasti
– Tiap langkah jelas kaitan tasks & struktur data
– Rincian tiap langkah - Metoda Top-down / Bottom-up
– Designing, coding, and testing sebuah program
dengan tahapan progresif.
– Dihasilkan runtut tahapan yang structured &
modular
– Makin bawah modul = subfunctions yang
mendefinisikan tasks makin detil - Teknik Diagram
– Kategori
• overview system analysis
• program architecture
• program detail
• data structures
– Tipe
• DFD, functional decomposition, structure charts
• HIPO, Warnier-Orr, Michael Jackson
• flowchart, pseudocode, Nassi-Schneidermann
• action diagram, decision tree, decision table
• data structure, ERD, HOS charts, IDEF - Diagramming tools
– AutoSketch; CorelDraw
– Designer; EasyFlow
– FlowModel; Illustrator
– PHOTO-PAINT; Photoshop
– PowerPoint; netViz
– QA-Flow; Schematic;
– SiteMapper; SmartDraw
– TeamFlow; Visio Technical
– Visual Thought; WBFlow
- Data structure
– Cara penyimpanan data dalam komputer sehingga
dapat digunakan secara efisien.
– Pemilihan struktur data sangat pendting dalam
desain program [pemrograman]. - Abstract data type (ADT)
– Struktur data dan operasi-operasi yang dapat
dilakukan pada data tersebut.
– Sebuah class dalam OOD = ADT, classes memiliki
sifat-sifat tambahan (inheritance and
polymorphism) not normally associated with ADTs. - Data Model
– Hasil proses desain basisdata yang dapat dipakai untuk
mengidentifkasi dan mengorganisasi data yang dibutuhkan
logically & physically.
– Data model akan menunjukkan semuainformasi yang harus
terkandung dalam basisdata, bagaimana cara
penggunaannya, dan bagaimana setiap item database akan
terkait satu sama lainnya. - Data warehouse
– Kumpulan terpadu data perusahaan, dapat diakses oleh
business managers, administrators, service providers &
researchers yang berhak untuk: dianalisis, menghasilkan ad
hoc queries & reports, dan cara pemeliharaan data subsets. - Jenis [http://en.wikipedia.org/wiki/Data_structure]
– Linear data structures:
• list - array [bitmaps: images, heightfields/Digital Elevation Model]
• linked list - skip list
• Hash table
• Stack [LIFO]
• Queue [FIFO]
• Deque
– Graph data structures
• Scene graph
• Tree: AVL, binary search, B, Parse, Red-black, Splay, Heap, String
trie, Suffix trie
Tidak ada komentar:
Posting Komentar