Algoritma Dan Pemrograman
1. Algoritma
Algoritma adalah urutan langkah yang logis, sistematis, dan terstruktur untuk menyelesaikan masalah. Algoritma dapat ditulis dalam bahasa sehari-hari, pseudocode, atau flowchart.
2. Pemrograman
Pemrograman adalah proses menerjemahkan algoritma atau solusi masalah ke bahasa pemrograman agar dapat dijalankan komputer.
Hubungannya:
Masalah → Analisis → Algoritma → Pseudocode/Flowchart → Program → Output.
3. Tujuan Mempelajari Algoritma
- Melatih berpikir logis dan komputasional.
- Memecahkan masalah secara sistematis.
- Memahami cara kerja komputer.
- Membuat aplikasi/program.
- Mengotomatisasi pekerjaan.
- Mengembangkan software dan sistem informasi.
4. Karakteristik Algoritma
Algoritma yang baik memiliki:
- Input → menerima data.
- Output → menghasilkan keluaran.
- Definiteness → setiap langkah jelas dan tidak ambigu.
- Finiteness → memiliki akhir.
- Effectiveness → setiap langkah dapat dilakukan dan memiliki tujuan.
5. Tahapan Membuat Program
- Identifikasi masalah.
- Analisis Input – Process – Output.
- Membuat algoritma.
- Membuat pseudocode/flowchart.
- Implementasi ke bahasa pemrograman.
- Testing.
- Debugging.
- Dokumentasi dan pemeliharaan.
6. Tiga Struktur Dasar Algoritma
1. Runtunan (Sequence)
Instruksi dijalankan secara berurutan dari awal sampai akhir.
2. Percabangan (Selection)
Program memilih tindakan berdasarkan kondisi, misalnya if, if else, dan if elif else.
3. Perulangan (Looping)
Instruksi dijalankan berulang kali, misalnya for dan while.
7. Variabel dan Tipe Data
Variabel adalah tempat menyimpan data.
Tipe data dasar:
-
Integer → bilangan bulat, contoh
20 -
Float → bilangan desimal, contoh
170.5 -
String → teks, contoh
"Budi" -
Boolean →
TrueatauFalse
8. Operator
Aritmatika: +, -, *, /, %, //, **
Perbandingan: ==, !=, >, <, >=, <=
Logika: and, or, not.
9. Input dan Output
Program dapat menerima data dari pengguna menggunakan input() dan menampilkan hasil menggunakan print().
Contoh:
nama = input("Masukkan nama: ") print("Halo", nama)
10. Pseudocode dan Flowchart
Pseudocode adalah penulisan algoritma menggunakan bahasa sederhana yang menyerupai struktur program.
Flowchart adalah diagram untuk menggambarkan alur algoritma.
Simbol flowchart:
- Oval → Start/End
- Persegi → Process
- Jajar genjang → Input/Output
- Belah ketupat → Decision
- Panah → Aliran
11. Fungsi dan List
Fungsi adalah kumpulan instruksi untuk melakukan tugas tertentu. Keuntungannya adalah kode bisa digunakan kembali dan program lebih terstruktur.
List/Array digunakan untuk menyimpan banyak data dalam satu variabel.
12. Searching dan Sorting
Searching digunakan untuk mencari data, contohnya:
- Linear Search
- Binary Search
Binary Search bekerja pada data yang sudah terurut dan memiliki kompleksitas sekitar O(log n).
Sorting digunakan untuk mengurutkan data, contohnya:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort.
13. Kompleksitas Algoritma
Kompleksitas digunakan untuk mengetahui efisiensi algoritma dalam menggunakan waktu dan sumber daya.
Notasi yang umum:
O(1), O(log n), O(n), O(n log n), O(n²), O(2ⁿ).
14. Debugging
Debugging adalah proses mencari dan memperbaiki kesalahan program.
Jenis kesalahan:
- Syntax Error → kesalahan penulisan sintaks.
- Runtime Error → kesalahan saat program dijalankan.
- Logic Error → program berjalan tetapi hasilnya salah.
Komentar
Posting Komentar