2. Referensi
Thomas H cormen, dkk
Introduction to the
design and analysis
ofalgorithms
Anany Leviti
Computer Algorithms;
Introduction design
and analysis
Sara Band Allen V.
G
Strategi algoritmik
Rinaldi munir
Introductionto
Algorithms,3rdEdition
3. What is algorithm?
Urutan instruksi/ langkah yang tidak
ambigu untuk memecahkan masalah.
Langkah-langkah atau prosedur yang harus
dilakukan untuk menyelesaikan suatu
masalah.
Sekumpulan instruksi yang jumlahnya
terbatas yang apabila dilaksanakan akan
menyelesaikan suatu tugas tertentu.
4. What is algorithm?
Ialah cara yang dapat ditempuh oleh komputer
dalam mencapai suatu tujuan, terdiri atas
Langkah-Langkah yang terdefinisikan dengan
baik, input, proses, dan output, dan juga bisa
dihitung (computable) atau bisa di ukur
(measurable).
6. Algorithm: syarat correctness
● Algoritma berhasil mengeluarkan output yang benar
dari input yang ada.
● Jika hanya 99% benar?
Algoritma = salah
7. Kenapa perlu analisis dan strategi algoritma?
Algoritmaterstruktur/bagus.
Algoritmaefektif dan efisien
Peduli dengan spesifikasi perangkat user
Program jangka Panjang.
9. Contoh Algoritma
Bagaimana cara agar dapat kuliah disuatu Perguruan
Tinggi?
Mulai
1. Mengikuti tes masuk
2. Memilih perguruan tinggi
3. Mengisi formular pendaftaran
4. Membayar SPP
5. Jika lulus tes, lanjut ke tahap 3, jika tidak selesai.
6. Mengambil KTM
Selesai
Kesimpulan: algoritma yang tidak baik karena urutan
langkahnya tidak logis.
10. Contoh Algoritma
Bagaimanacaramemasakmiegoreng?
Mulai
1. Siapkansemuaalatdanbahan
2. Masukanairkedalampanci
3. Letakanpancidiataskompordantungguairsampaimendidih
4. Masukan mie, tunggu 3 menit atau sampai kematangan yang
diinginkan
5. Tiriskanair
6. Tuangbumbumiekedalammangkok
7. Masukanmiekedalammangkok
8. Adukratamiedanbumbu,
9. Miegorengsiapuntukdisajikan
Selesai
Kesimpulan:algoritmayangbaikkarenaurutanlangkahnyalogis.
13. Design Algorithm
Teknik desain algoritma (atau "strategi" atau "paradigma")
adalah pendekatan umum untuk memecahkan masalah
secara algoritmik yang berlaku untuk berbagai masalah
dari berbagai bidang komputasi.
17. Algorithms + Data Structures
=
Programs
??
Macam-macam Bahasa pemograman
Phyton Java C++ PHP
18. Algoritma dalam pemograman
1. Mengatasi permasalahan rumit dalam program
2. Mempermudah pencarian dan perbaikan
kesalahan karena tertata dan tersusun dengan
rapi
3. Menyederhanakan program jadi sederhana
4. Meminimalisir penulisan program yang
berulang-ulang
Algoritma: logika dari pemograman
19. Code
Code vs Pseudocode
Code : kode program
Kegiatan menulis baris-baris kode dari suatu Bahasa pemograman, agar dapat
berkomunikasi dengan komputer dan perintah dapat di eksekusi.
20. Pseudocode
Contoh Pseudocode
Pseudocode
Pseudo : mirip atau menyerupai
Code : kode program
Deskripsi tingkat tinggi informal
dan ringkas atas algoritma
pemograman pada suatu
Bahasa pemograman, yang
ditujukan untuk manusia agar
mudah dibaca.
Pseudocode : Kode yang mirip
dengan instruksi kode program
yang sebenarnya, menghasilkan
deskripsi algoritma yang lebih
ringkas.
Judul
Program ganjil_genap
Deskripsi
var bilangan: integer
Implementasi
READ bilangan (input nilai var bilangan)
IF (bilangan modulus 2 = 0) THEN
PRINT “genap”
ELSE
PRINT “ganjil”
ENDIF
Format Pseudocode
Judul
{judul dari algoritma}
Program <namaprogram>
Deskripsi
{berisi deklarasi variabel}
<namavariabel : <tipe_data>
Implementasi
{berisi inti dari algoritma
tersebut}
21. Latihan 3
Buatlah Pseudocode berdasarkan dari
algoritma dan flowchart yang sudah
anda buat pada Latihan 1 dan 2.
22. Struktur data
Struktur data memiliki format khusus untuk:
• Mengatur data
• Memproses data
• Mengambil data
• Menyimpan data
Secara teknis data disimpan dalam bentuk:
• Angka
• Huruf
• Simbol, dll
23. Struktur Data
Skema tertentu dari pengorganisasian item data terkait.
Sifat item data ditentukan oleh masalah yang dihadapi; mereka dapat
berkisar dari tipe data dasar (misalnya, bilangan bulat atau karakter)
hingga struktur data (misalnya, larik satu dimensi dari larik satu
dimensi sering digunakan untuk mengimplementasikan matriks).
Struktur data: cara menyimpan dan mengatur data
secara terstruktur pada system computer atau
database sehingga lebih mudah diakses.
24. Struktur Data
Macam-macam struktur data
1. Array
Kumpulan elemen yang jaraknya berdekatan
Keunggulan tipe array:
• Bisa digunakan sebagai implementasi tipe lainnya, seperti
queue dan stack
• Proses pencarian data bisa dilakukan lebih cepat
Kekurangan:
Penambahan dan pengurangan data membutuhkan waktu yang
lama, karena menampung data secara berurutan
25. Struktur Data
Macam-macam struktur data
2. Link list
Struktur data yang terdiri dari urutan data linier yang
dihubungkan satu sama lainnya
Keunggulan :
• Ukuran lebih dinamis
• Alokasi penggunaan memori bisa disesuaikan
• Pengurangan atau penambahan data lebih cepat
Kekurangan:
Menguras memori lebih besar, dan proses traversal lebih
Panjang karena tidak langsung mengakses data ke indeks.
26. Struktur Data
Macam-macam struktur data
3. stack
Struktur data yang linier dan mengikuti urutan LIFO atau FILO
(first in last out)
4. Queue
Struktur data linear yang mengikuti urutan FIFO (first in first
out)
Masalah, yaitu sebuah persoalan yang ingin diselesaikan oleh sebuah algoritma
Masukan, yaitu contoh data atau keadaan yang menjadi permasalahan
Keluaran, yaitu bentuk akhir dari data setelah algoritma diimplementasikan ke masukan. Keluaran merupakan hasil ideal yang diinginkan dan dianggap telah menyelesaikan masalah.
Algorithma menjadi dasar dalam membuat suatu pemograman
Struktur data hal yang penting diketahui oleh programer, memudahkan pengguna untuk mengakses data yang dibutuhkan.
Membantu seseorang untuk mencari data dg use indeks