Struktur Data & Algoritma Pemrograman
[cite_start]Dosen: Alimin, M.Kom [cite: 2]
1. Pengenalan Program
[cite_start]Program adalah sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah[cite: 4].
[cite_start]Level Bahasa Pemrograman[cite: 5]:
-
[cite_start]
- Tingkat Rendah: Bahasa mesin menggunakan kode numerik 0 dan 1[cite: 9, 10, 12]. [cite_start](+) Eksekusi cepat [cite: 14][cite_start], (-) Sulit dipelajari[cite: 15]. [cite_start]
- Tingkat Menengah: Bahasa Assembly menggunakan simbol seperti ADD, SUB[cite: 16, 17, 19]. [cite_start](+) File kecil [cite: 21][cite_start], (-) Program sangat panjang[cite: 22]. [cite_start]
- Tingkat Tinggi: Dekat dengan bahasa manusia (Pascal, C++, Java)[cite: 23, 25, 27]. [cite_start](+) Mudah dipelajari [cite: 28][cite_start], (-) Eksekusi lebih lambat[cite: 29].
2. Translator (Penerjemah)
[cite_start]Translator berfungsi menerjemahkan bahasa tingkat tinggi ke tingkat rendah agar dimengerti mesin[cite: 30, 31].
[cite_start] [cite_start] [cite_start] [cite_start] [cite_start]| Metode | Cara Kerja | Kelebihan/Kekurangan |
|---|---|---|
| Interpreter [cite: 33] | Diterjemahkan baris demi baris saat program jalan[cite: 34]. | Debugging cepat [cite: 36][cite_start], tapi eksekusi lambat[cite: 37]. |
| Compiler [cite: 40] | Seluruh program diterjemahkan sekaligus menjadi file .exe[cite: 41, 42]. | Eksekusi cepat, namun proses kompilasi awal memakan waktu. |
3. Algoritma
[cite_start]Algoritma adalah sederetan langkah logis yang disusun secara sistematis untuk memecahkan masalah[cite: 45].
[cite_start]"Disebut logis karena setiap langkah bisa diketahui dengan pasti." [cite: 46]
[cite_start]Syarat Algoritma[cite: 48]:
-
[cite_start]
- Tidak ambigu, tepat, dan pasti[cite: 49, 50, 51]. [cite_start]
- Harus berhenti setelah langkah terbatas[cite: 52]. [cite_start]
- Memiliki input (0 atau lebih) dan output (1 atau lebih)[cite: 53, 54]. [cite_start]
- Harus efektif[cite: 55].
4. Notasi Algoritma
[cite_start]Penulisan algoritma tidak tergantung pada bahasa pemrograman tertentu[cite: 60]. Ada 3 cara utama:
-
[cite_start]
- Kalimat Deskriptif: Narasi langkah demi langkah[cite: 63]. [cite_start]
- Flow Chart: Simbol visual alur program[cite: 85]. [cite_start]
- Pseudo Code: Kode semu yang terdiri dari Judul, Deklarasi, dan Deskripsi[cite: 87, 88].
5. Tipe Data & Operator
[cite_start]Tipe Data Utama[cite: 112]:
-
[cite_start]
- Bilangan Bulat:
Integer,Longint,Byte[cite: 113].
[cite_start] - Logika:
Boolean[cite: 114].
[cite_start] - Bilangan Real:
Real,Single,Double[cite: 115].
[cite_start] - Teks:
Karakter,String[cite: 116, 117].
???? Tugas Pertemuan 1
Buatlah notasi algoritma untuk:
-
[cite_start]
- Menghitung luas dan keliling lingkaran (input: jari-jari)[cite: 121]. [cite_start]
- Mengidentifikasi bilangan ganjil atau genap[cite: 122].
Instruksi: Upload link Google Drive ke Google Classroom[cite: 123]. [cite_start]Pelajari juga Pemrograman Python untuk pertemuan berikutnya[cite: 124]!
Klik Link disini Untuk Masuk Ke Google Classroom