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.