Algoritma dan Pemrograman: Konsep Dasar dan Langkah Pembuatan Program

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/36

flashcard set

Earn XP

Description and Tags

Kumpulan kartu belajar tanya-jawab mengenai konsep dasar algoritma dan pemrograman, notasi penulisan, simbol-simbol flowchart, struktur kontrol dasar, serta enam tahapan dalam siklus hidup pembuatan program.

37 Terms

1
New cards

Dari manakah asal usul kata "algoritma" dan siapa ilmuwan yang mendasarinya?

Kata "algoritma" berasal dari nama ilmuwan Persia bernama Al-Khawarizmi (780−850 M780-850\text{ M}) yang dikenal lewat karya aljabar (al-jabr). Nama Al-Khawarizmi kemudian diserap menjadi algorismus dalam bahasa Latin, algorithm dalam bahasa Inggris, dan akhirnya menjadi algoritma.

2
New cards

Bagaimana pengertian algoritma jika ditinjau dari sudut pandang matematis, ilmu komputer, dan praktis?

Secara matematis, algoritma adalah deretan langkah komputasi yang mengubah input menjadi output. Dalam ilmu komputer, algoritma adalah deskripsi langkah yang dapat diterjemahkan menjadi kode program. Secara praktis, algoritma dipandang sebagai "resep" atau prosedur baku untuk mencapai suatu tujuan.

3
New cards

Apa definisi lengkap dari algoritma?

Algoritma adalah urutan langkah-langkah logis untuk menyelesaikan suatu masalah, disusun secara sistematis, terbatas jumlahnya, dan pasti (tidak ambigu), sehingga jika diikuti dengan benar akan menghasilkan solusi.

4
New cards

Bagaimana analogi resep masakan dalam menggambarkan prinsip kerja algoritma?

Bahan berperan sebagai masukan (input), langkah-langkah memasak berurutan berperan sebagai proses, dan hasil masakan berperan sebagai keluaran (output).

5
New cards

Sebutkan lima kriteria ciri-ciri algoritma yang baik menurut Donald E. Knuth!

Lima kriteria tersebut adalah Finiteness (keterbatasan), Definiteness (kepastian), Input (masukan), Output (keluaran), dan Effectiveness (efektivitas).

6
New cards

Apa yang dimaksud dengan kriteria Finiteness (keterbatasan) pada algoritma?

Algoritma harus berhenti setelah melalui sejumlah langkah yang terbatas, serta tidak boleh berjalan tanpa henti (infinite loop).

7
New cards

Apa yang dimaksud dengan kriteria Definiteness (kepastian) pada algoritma?

Setiap langkah harus didefinisikan secara tegas, jelas, dan tidak menimbulkan makna ganda (ambigu).

8
New cards

Bagaimana ketentuan kriteria Input (masukan) dan Output (keluaran) menurut Donald E. Knuth?

Input: algoritma memiliki nol atau lebih data masukan yang diberikan sebelum atau selama dijalankan. Output: algoritma menghasilkan satu atau lebih keluaran yang berhubungan langsung dengan data masukan.

9
New cards

Apa yang dimaksud dengan kriteria Effectiveness (efektivitas) pada algoritma?

Setiap instruksi atau langkah harus sederhana dan benar-benar dapat dilaksanakan dalam waktu yang wajar.

10
New cards

Sebutkan kriteria tambahan bagi algoritma yang baik selain lima kriteria Donald E. Knuth!

Kriteria tambahannya adalah efisiensi (hemat waktu dan memori), generalitas (dapat berlaku untuk kasus sejenis), dan independen terhadap bahasa pemrograman.

11
New cards

Apa definisi dari pemrograman?

Pemrograman adalah aktivitas menulis, menguji, memperbaiki (debugging), dan memelihara kumpulan instruksi (kode program) berdasarkan algoritma tertentu, agar komputer dapat menjalankan tugas sesuai yang diharapkan.

12
New cards

Bagaimana hubungan analogi antara algoritma dan pemrograman diibaratkan sebagai "otak" dan "tubuh"?

Algoritma diibaratkan sebagai "Otak", yaitu logika atau konsep abstrak pemecahan masalah yang bebas dari bahasa pemrograman tertentu. Pemrograman diibaratkan sebagai "Tubuh", yaitu implementasi konkret logika tersebut ke dalam kode yang dapat dijalankan oleh komputer.

13
New cards

Apa perbedaan antara algoritma dan pemrograman dari segi keterikatan bahasa dan bentuknya?

Dari segi bahasa, algoritma bebas bahasa (menggunakan bahasa manusia atau diagram), sedangkan pemrograman terikat oleh sintaks bahasa pemrograman. Dari segi bentuk, algoritma berupa flowchart atau pseudocode, sedangkan pemrograman berupa kode program (source code).

14
New cards

Apa perbedaan antara algoritma dan pemrograman dari segi ketergantungan perangkat?

Algoritma tidak bergantung pada perangkat apa pun, sedangkan pemrograman bergantung pada perangkat lunak penerjemah seperti compiler atau interpreter.

15
New cards

Sebutkan tiga cara atau notasi umum dalam menuliskan algoritma sebelum diubah menjadi kode program!

Tiga notasi tersebut adalah Kalimat Deskriptif, Flowchart, dan Pseudocode.

16
New cards

Apa kelebihan dan kelemahan dari notasi kalimat deskriptif?

Kelebihannya adalah mudah dipahami oleh siapa saja karena menggunakan bahasa sehari-hari. Kelemahannya adalah notasinya menjadi sangat panjang jika digunakan untuk menyelesaikan kasus yang kompleks.

17
New cards

Apa kelebihan dan kelemahan dari notasi flowchart?

Kelebihannya adalah bersifat visual sehingga alur logikanya mudah ditelusuri. Kelemahannya adalah memerlukan pemahaman terhadap simbol-simbol standar yang digunakan.

18
New cards

Apa yang dimaksud dengan notasi pseudocode beserta kelebihannya?

Pseudocode adalah notasi penulisan algoritma yang menyerupai bahasa pemrograman sungguhan tetapi tidak terikat pada sintaks bahasa tertentu. Kelebihannya adalah ringkas dan bentuknya sangat dekat ke kode program asli.

19
New cards
<p>Apa nama dan fungsi dari simbol flowchart berikut?</p>

Apa nama dan fungsi dari simbol flowchart berikut?

Simbol Terminator; berfungsi untuk menandai awal (start) dan akhir (end) dari suatu program.

20
New cards
<p>Apa nama dan fungsi dari simbol flowchart berbentuk jajar genjang berikut?</p>

Apa nama dan fungsi dari simbol flowchart berbentuk jajar genjang berikut?

Simbol Input/Output; berfungsi untuk menggambarkan proses pemasukan data atau pengeluaran data.

21
New cards
<p>Apa nama dan fungsi dari simbol flowchart berbentuk persegi panjang berikut?</p>

Apa nama dan fungsi dari simbol flowchart berbentuk persegi panjang berikut?

Simbol Proses; berfungsi untuk menggambarkan proses pengolahan data atau perhitungan matematis.

22
New cards
<p>Apa nama dan fungsi dari simbol flowchart berbentuk belah ketupat berikut?</p>

Apa nama dan fungsi dari simbol flowchart berbentuk belah ketupat berikut?

Simbol Decision; berfungsi untuk pengambilan keputusan atau percabangan alur logika berdasarkan kondisi tertentu.

23
New cards
<p>Apa nama dan fungsi dari simbol flowchart garis berpanah berikut?</p>

Apa nama dan fungsi dari simbol flowchart garis berpanah berikut?

Simbol Flow Line; berfungsi untuk menunjukkan arah aliran alur proses algoritma.

24
New cards
<p>Apa nama dan fungsi dari simbol flowchart lingkaran berikut?</p>

Apa nama dan fungsi dari simbol flowchart lingkaran berikut?

Simbol Connector; berfungsi untuk menghubungkan bagian-bagian alur flowchart yang terpisah.

25
New cards

Sebutkan tiga struktur kontrol dasar penyusun setiap algoritma!

Tiga struktur kontrol dasar tersebut adalah Sequence (runtutan), Selection (percabangan), dan Repetition (perulangan).

26
New cards

Apa yang dimaksud dengan struktur dasar Sequence (runtutan)?

Instruksi yang dikerjakan secara berurutan langkah demi langkah dari langkah pertama hingga langkah terakhir tanpa adanya percabangan atau perulangan.

27
New cards

Bagaimana prinsip kerja dari struktur dasar Selection (percabangan)?

Instruksi dikerjakan berdasarkan evaluasi kondisi tertentu, yaitu memeriksa apakah kondisi bernilai benar (true) atau salah (false).

28
New cards

Bagaimana prinsip kerja dari struktur dasar Repetition (perulangan)?

Instruksi yang sama dikerjakan secara berulang-ulang selama kondisi yang ditentukan masih terpenuhi.

29
New cards

Sebutkan lima alasan mengapa algoritma wajib dikuasai sebelum menulis kode program!

  1. Independensi bahasa (bisa diterapkan ke berbagai bahasa pemrograman)
  2. Meminimalkan kesalahan logika sebelum penulisan kode
  3. Mempermudah debugging saat terjadi bug
  4. Meningkatkan efisiensi waktu eksekusi dan memori
  5. Melatih computational thinking (berpikir logis, sistematis, dan terstruktur)
30
New cards

Sebutkan enam tahapan sistematis dalam Program Development Life Cycle!

  1. Analisis Masalah
  2. Perancangan Algoritma
  3. Penulisan Kode Program
  4. Pengujian & Debugging
  5. Dokumentasi
  6. Pemeliharaan Program
31
New cards

Mengapa tahapan pembuatan program dikatakan bersifat iteratif, bukan linier mutlak?

Karena jika ditemukan kesalahan (error) pada tahap pengujian, proses pengembangan akan berulang atau kembali ke tahap perancangan algoritma atau penulisan kode program.

32
New cards

Apa saja empat komponen yang harus dianalisis secara tepat pada Tahap 1 (Analisis Masalah)?

  1. Input (data yang dimasukkan ke dalam program)
  2. Proses (pengolahan yang perlu dilakukan terhadap data)
  3. Output (keluaran hasil akhir yang diharapkan)
  4. Batasan (keterbatasan waktu, memori, atau aturan bisnis yang harus dipatuhi)
33
New cards

Apa yang dimaksud dengan praktik desk checking / tracing pada tahap perancangan algoritma?

Praktik menjalankan atau mengeksekusi algoritma secara manual menggunakan data uji sederhana untuk memvalidasi kebenaran logika sebelum ditulis menjadi kode program nyata.

34
New cards

Apa perbedaan mendasar antara Syntax Error dan Logic Error pada tahap pengujian program?

Syntax Error adalah kesalahan penulisan yang melanggar tata bahasa pemrograman dan langsung terdeteksi oleh compiler/interpreter. Logic Error adalah kesalahan rancangan logika di mana program tetap berjalan tanpa pesan error tetapi menghasilkan keluaran yang keliru, sehingga lebih sulit dideteksi.

35
New cards

Jelaskan tiga jenis pengujian perangkat lunak yang umum dilakukan pada tahap pengujian!

Unit testing (menguji satu modul atau bagian kecil secara terpisah), integration testing (menguji kerja sama antarmodul program), serta pengujian menggunakan data normal, data batas (boundary), dan data tidak valid.

36
New cards

Apa perbedaan antara dokumentasi internal dan dokumentasi eksternal dalam pembuatan program?

Dokumentasi internal berupa komentar (comment) di dalam kode program untuk membantu programmer memahami maksud kode. Dokumentasi eksternal dibuat terpisah dari kode, mencakup manual pengguna (user manual), spesifikasi teknis, dan panduan instalasi.

37
New cards

Jelaskan tiga jenis pemeliharaan program: corrective, adaptive, dan perfective!

Corrective: memperbaiki bug atau kesalahan yang ditemukan setelah program dirilis. Adaptive: menyesuaikan program dengan perubahan sistem operasi atau perangkat keras. Perfective: menambahkan fitur-fitur baru atau mengoptimalkan performa program.