Pengantar Teknik Informatika - Universitas Mercu Buana Yogyakarta

advertisement
Pengantar Teknik Informatika
Algoritma dan Kompleksitas
Pertemuan Ke-3
Materi E-learning Tanggal : 1
Oleh :
Supatman
Fakultas Teknologi Informasi
Universitas Mercu Buana Yogyakarta
Tahun 2012
Algoritma
Langkah-langkah (Alur) untuk menyelesaikan
masalah tertentu dengan (bahasa tertentu
,opcode, flowchart) (dalam bidang komputer)
diimplementasikan ke dalam bahasa
pemrograman tertentu.
Dasar Teknik untuk Desain
dan Analisis Algoritma
 Metode dasar desain algoritma.
 Manipulasi diskrit : list, array, grafik
 Objek geometris : titik, garis, dan poligon.
 Algoritma Lanjut : analisis algoritma,
menyortir, dan antrian prioritas.
 Algoritma cerdas: greedy heuristics
Data Structures
 Studi tentang struktur data yaitu metode untuk mengorganisasi
data yang sesuai untuk pemrosesan komputer.
 Pada tingkat perangkat keras, komputer memandang perangkat
penyimpanan seperti memori internal dan disk sebagai pemegang
unit data dasar (byte), masing-masing dapat diakses melalui
alamatnya.
 Saat menulis program, bukan memanipulasi data pada tingkat
byte, akan lebih mudah untuk mengatur pada tingkat yang lebih
tinggi yang disebut entitas struktur data.
Teori Komplesitas
 Kompleksitas komputasi adalah studi tentang kesulitan memecahkan masalah
komputasi, dalam hal sumber daya komputasi yang dibutuhkan, seperti waktu dan
ruang (memori).
 Sedangkan analisis algoritma berfokus pada waktu atau ruang algoritma individu
untuk suatu masalah tertentu (sorting), teori kompleksitas berfokus pada kelas
kompleksitas masalah dipecahkan dalam jumlah waktu yang sama atau ruang.
 Masalah komputasi paling umum jatuh ke dalam sejumlah kecil kelas kompleksitas.
 Dua kelas kompleksitas penting adalah P, himpunan masalah yang dapat diselesaikan
dalam waktu polinomial, dan NP, himpunan masalah yang solusi dapat diverifikasi
dalam waktu polinomial.
Model Formal dan komputabilitas
 Model komputasi formal bertujuan untuk menyediakan
kerangka kerja untuk pemecahan masalah komputasi.
 Model formal memandu secara teknis membangun komputer
dan cara mendesain memprogram.
Graph and Network Algorithm
 Pemodelan sistem dalam bentuk grafik.
 Konsep Dasar Benda dan Objek Tepi
 Teori Graf : Permasalahan optimasi
Aljabar Algoritma
 Pendekatan algoritma untuk aljabar: aritmatika dengan angka,
polinomial, matriks, polinomial diferensial
 Algoritma adalah tulang punggung perangkat lunak
berdasarkan matematika modern.
 Matematika pendukung Algoritma antara lain : aljabar linear
matriks, akar menemukan polinomial univariat, solusi sistem
persamaan aljabar nonlinier, dan faktorisasi polinomial.
Cryptography
Komunikasi yang aman meliputi dua golongan:
A. Kerahasiaan
B. Integritas data.
Kriptografi modifikasi data yang dikirim dan penerima
dapat menterjemahkan kode modifikasi datanya.
Algoritma Paralel
Desain dan analisis algoritma paralel.
Algoritma komputer saat bersifat sekuensial.
Untuk meningkatkan kinerja komputer sekuensial dilakukan
dengan teknik paralelisme.
Algoritma paralel dapat melakukan beberapa operasi dalam
satu langkah.
Komputasi Geometri
 Komputasi Geometri merupakan implementasi desain dan
analisis algoritma berdasarkan model geometris.
 Kompleksitas komputasi geometris : pengenalan pola,
komputer grafis, computer vision, robotika, sangat terpadu
skala besar (VLSI), riset operasi, statistik, dll
 Teori matematika modern tentang geometri berdasarkan sifat
geometris dengan solusi algoritmik
Algoritma Acak (Random)
Input data :
1). Bilangan Acak (Random).
2). Probabilistik.
Manfaat dari algoritma acak :
1). Kesederhanaan
2). Efisiensi
Pencocokan Pola dan Algoritma
Kompresi Tek
 Algoritma standar yang digunakan untuk pengolahan teks.
 Proses :
A). Manipulasi teks (text editor),
B). Untuk penyimpanan data tekstual (kompresi teks), dan
C). Sistem pengambilan data.
Genetic Algorithms
 Sebuah algoritma genetika adalah bentuk evolusi yang terjadi pada komputer.
 Algoritma genetika berguna, baik sebagai metode pencarian untuk memecahkan masalah dan untuk
pemodelan sistem evolusi.
 Dalam algoritma genetika, string digit biner yang disimpan dalam memori komputer, dan berkembang dengan
cara yang sama bahwa populasi berevolusi dari individu di bawah seleksi alam.
 Pada bentuk komputasi yang sederhana dibandingkan dengan alam, algoritma genetika mampu berkembang
pada struktur yang komplek. Struktur ini, yang disebut individu, dapat mewakili solusi untuk masalah strategi
untuk bermain game, gambar visual, atau program komputer.
 Algoritma genetika memungkinkan para insinyur untuk menggunakan komputer untuk berevolusi solusi.
 Manfaat lain algoritma genetika evolusi model dalam berbagai pengaturan, termasuk biologis (seperti
ekologi, imunologi, dan genetika populasi), sosial (seperti ekonomi dan sistem politik) , dan kognitif sistem.
Combinatorial Optimization
 Optimasi kombinatorial dalam teknik komputer dan dukungan keputusan:
1). Bin packing
2). Routing
3). Penjadwalan
5). Tata letak
6). Desain jaringan.
 Perangkat lunak yang efektif untuk optimasi kombinatorial memiliki ciri:
1). Spesifik
2). Algoritma Cerdas.
3). Heuristik.
Combinatorial Optimization
Referensi
Tucker, Allen B. (editor), Computer Science
Handbook 2nd ed, 2004, Chapman & Hall/CRC.
Download