Konsep Dasar Algoritma

🤔 Apakah kamu tahu apa itu algoritma?
Kata algoritma pasti sudah sering kamu dengar, terlebih lagi jika kamu tertarik dengan dunia teknologi dan pemrograman. Algoritma adalah urutan langkah-langkah logis dan sistematis untuk menyelesaikan suatu masalah. Seperti resep masakan: ada bahan (input), langkah-langkah (proses), dan hasil akhir yang diharapkan (output).

Pengertian Algoritma

Secara formal, algoritma adalah prosedur atau rumus yang terdiri dari serangkaian instruksi terdefinisi dengan baik, yang jika diikuti akan menghasilkan solusi untuk suatu masalah tertentu dalam waktu yang terbatas.

Istilah "algoritma" berasal dari nama seorang matematikawan Persia, Abu Ja'far Muhammad ibn Musa al-Khwarizmi (abad ke-9), yang karyanya menjadi fondasi matematika dan komputasi modern.

5 Karakteristik Algoritma yang Baik

  • Input: Memiliki nol atau lebih data masukan yang diterima dari luar.
  • Proses: Langkah-langkah harus jelas, terurut, dan tidak ambigu.
  • Output: Menghasilkan minimal satu keluaran yang merupakan solusi masalah.
  • Definiteness: Setiap instruksi harus tepat dan tidak membingungkan.
  • Finiteness: Algoritma harus berakhir setelah sejumlah langkah terbatas.

Contoh Algoritma Sederhana

Masalah: Menentukan apakah sebuah bilangan genap atau ganjil

// Algoritma: Cek Bilangan Genap/Ganjil START INPUT angka IF angka MOD 2 = 0 THEN PRINT "Genap" ELSE PRINT "Ganjil" END IF END
Penjelasan Langkah demi Langkah:
  1. Program dimulai (START).
  2. Pengguna memasukkan sebuah angka (INPUT angka).
  3. Program memeriksa: apakah angka tersebut jika dibagi 2 sisanya 0? (angka MOD 2 = 0).
  4. Jika YA → cetak "Genap". Jika TIDAK → cetak "Ganjil".
  5. Program selesai (END).
💡 Tips Belajar: Mulailah dengan masalah sehari-hari! Coba buat algoritma untuk "membuat teh", "berangkat ke sekolah", atau "memutuskan baju yang akan dipakai". Ini membantu memahami konsep sebelum masuk ke kode program.
📚 Ingin memperdalam? Kamu dapat mempelajari lebih lanjut tentang algoritma di platform pembelajaran seperti Dicoding: Memulai Dasar Pemrograman atau Code.org.

Kuis Modul 1: Konsep Dasar Algoritma

5 Soal • 100 Poin
Skor Anda
0
/ 100 poin
1 Manakah yang BUKAN merupakan karakteristik algoritma yang baik?
2 Apa yang dimaksud dengan "Input" dalam algoritma?
3 Dalam contoh algoritma cek bilangan genap, operator apa yang digunakan?
4 Jika sebuah algoritma tidak pernah berakhir, maka algoritma tersebut melanggar prinsip?
5 Urutan yang benar dalam struktur algoritma adalah?

Flowchart & Diagram Alir

🤔 Apakah kamu tahu istilah flowchart?
Kata flowchart pasti sudah sering kamu dengar, terlebih lagi jika kamu sering membangun sebuah program. Flowchart adalah sebuah diagram yang menjelaskan alur proses dari sebuah program. Dalam membangun sebuah program, flowchart berperan penting untuk menerjemahkan proses berjalannya sebuah program agar lebih mudah untuk dipahami. Nah, apa fungsinya, simbol yang sering digunakan, dan bagaimana contohnya? Berikut ini adalah penjelasannya.

Pengertian Flowchart

Flowchart atau bagan alur adalah diagram yang menampilkan langkah-langkah dan keputusan untuk melakukan sebuah proses dari suatu program. Setiap langkah digambarkan dalam bentuk simbol diagram dan dihubungkan dengan garis atau arah panah yang menunjukkan urutan eksekusi.

Flowchart berperan penting dalam memutuskan sebuah langkah atau fungsionalitas dari sebuah proyek pembuatan program yang melibatkan banyak orang sekaligus. Selain itu, dengan menggunakan bagan alur, proses dari sebuah program akan lebih jelas, ringkas, dan mengurangi kemungkinan untuk salah penafsiran.

Fungsi Flowchart

  • Visualisasi Alur Program: Memberi gambaran jalannya sebuah program dari satu proses ke proses lainnya.
  • Penyederhanaan Prosedur: Menyederhanakan rangkaian prosedur agar memudahkan pemahaman.
  • Alat Komunikasi: Menjadi jembatan komunikasi antara tim teknis dan non-teknis.
  • Dokumentasi: Sebagai dokumentasi resmi yang menjelaskan logika program.
  • Deteksi Kesalahan: Membantu mengidentifikasi kesalahan logika sebelum kode ditulis.

Jenis-Jenis Flowchart

📄 Flowchart Dokumen

Menelusuri alur form/laporan dari satu bagian ke bagian lain.

💻 Flowchart Program

Menggambarkan secara rinci prosedur proses program.

⚙️ Flowchart Proses

Menganalisis langkah-langkah dalam suatu prosedur.

🌐 Flowchart Sistem

Menampilkan tahapan proses kerja dalam sistem secara menyeluruh.

🎨 Flowchart Skematik

Menggunakan gambar komputer untuk mempermudah pembacaan.

Simbol-Simbol Flowchart

🔵 Terminal (Mulai/Selesai)

Menunjukkan awal dan akhir dari suatu proses.

⬜ Proses (Process)

Menunjukkan operasi atau proses perhitungan.

🔶 Keputusan (Decision)

Menunjukkan titik percabangan YA/TIDAK.

⬛ Input/Output

Menunjukkan proses memasukkan atau menampilkan data.

Contoh: Cek Bilangan Genap/Ganjil

START
Input: angka
angka % 2 == 0?
YA
Print "Genap"
TIDAK
Print "Ganjil"
END
Pembahasan:
  1. Input: Pengguna menginput bilangan bulat.
  2. Proses: Nilai diproses dengan operator modulus (%).
  3. Keputusan: Jika sisa bagi = 0 → genap, jika tidak → ganjil.
  4. Output: Hasil ditampilkan sesuai kondisi.
  5. Selesai: Program berakhir.
💡 Tips Praktis: Selalu mulai dari Start dan akhiri dengan End. Gunakan simbol Decision hanya untuk kondisi YA/TIDAK. Pastikan semua panah terhubung!
📚 Ingin memperdalam? Pelajari lebih lanjut di Dicoding: Memulai Dasar Pemrograman.

Kuis Modul 2: Flowchart

5 Soal • 100 Poin
Skor Anda
0
/ 100 poin
1 Simbol belah ketupat dalam flowchart digunakan untuk?
2 Simbol persegi panjang dalam flowchart menunjukkan?
3 Apa fungsi simbol jajar genjang (parallelogram)?
4 Simbul oval digunakan untuk?
5 Dalam flowchart cek bilangan genap, setelah input angka langkah selanjutnya adalah?

Pseudocode Dasar

🤔 Pernahkah kamu bertanya-tanya bagaimana programmer merancang kode sebelum menulisnya?
Jawabannya adalah Pseudocode — cara menuliskan algoritma menggunakan bahasa yang mirip kode program, tetapi lebih mudah dibaca manusia dan tidak terikat sintaks bahasa pemrograman tertentu.

Pengertian Pseudocode

Pseudocode adalah representasi teks dari algoritma yang menggunakan kombinasi bahasa alami dan struktur pemrograman. Pseudocode tidak dapat dieksekusi oleh komputer secara langsung, tetapi sangat berguna untuk merancang logika program sebelum implementasi.

Keunggulan pseudocode: mudah dipahami, bebas dari sintaks bahasa tertentu, dan fokus pada logika bukan detail teknis.

Aturan Penulisan Pseudocode

  1. Judul Algoritma – Nama algoritma dan penjelasan singkat tentang algoritma.
  2. Deklarasi – Berisi definisi variabel, konstanta, fungsi, atau prosedur yang digunakan.
  3. Deskripsi – Langkah-langkah penyelesaian masalah.
Deskripsi Tingkat Tinggi Pseudocode
1. Baca nilai sisi.
2. Hitung luas bujur sangkar dengan mengalikan sisi dengan sisi.
3. Cetak luas.
Algoritma Menghitung_Luas_Bujur_Sangkar

Deklarasi
sisi : integer
luas : integer

Deskripsi
read(sisi)
luas ← sisi * sisi
print(luas)

Struktur Dasar Pseudocode

// 1. Deklarasi Variabel DECLARE nama_variabel AS tipe_data // 2. Input Data INPUT nama_variabel // 3. Proses/Perhitungan SET hasil = nilai1 + nilai2 // 4. Output Hasil PRINT "Hasil: ", hasil

Contoh: Menghitung Luas Persegi Panjang

// Algoritma: Hitung Luas Persegi Panjang START DECLARE panjang, lebar, luas AS number INPUT panjang, lebar SET luas = panjang * lebar PRINT "Luas = ", luas END
Penjelasan:
  1. Deklarasi tiga variabel: panjang, lebar, dan luas.
  2. Input nilai panjang dan lebar dari pengguna.
  3. Hitung luas dengan rumus: panjang × lebar.
  4. Tampilkan hasil perhitungan.
  5. Program selesai.
💡 Best Practice: Gunakan kata kunci konsisten: INPUT, PRINT, IF-THEN-ELSE, FOR, WHILE. Indentasi membantu membaca struktur logika!
📚 Referensi: Pelajari pseudocode lebih dalam di W3Schools: Algorithms atau GeeksforGeeks.

Kuis Modul 3: Pseudocode

5 Soal • 100 Poin
Skor Anda
0
/ 100 poin
1 Apa keuntungan menggunakan pseudocode?
2 Kata kunci untuk menampilkan output dalam pseudocode adalah?
3 Manakah penulisan pseudocode yang benar untuk perkalian?
4 Struktur yang benar dalam pseudocode adalah?
5 Kata kunci untuk kondisi percabangan dalam pseudocode adalah?

Pengenalan Variabel

🤔 Apa itu variabel dan mengapa penting dalam pemrograman?
Variabel adalah "wadah" atau "tempat penyimpanan" untuk menyimpan data dalam program. Seperti kotak berlabel yang bisa kita isi, ubah, dan ambil nilainya kapan saja selama program berjalan.

Pengertian Variabel

Dalam pemrograman, variabel adalah nama yang merepresentasikan lokasi memori untuk menyimpan suatu nilai. Nilai dalam variabel dapat berubah (bervariasi) selama eksekusi program.

Analogi sederhana: Bayangkan variabel seperti lemari dengan label. Labelnya adalah nama variabel, dan isinya adalah nilai/data yang disimpan.

Aturan Penamaan Variabel

  • ✅ Harus dimulai dengan huruf atau underscore (_)
  • ✅ Boleh mengandung huruf, angka, dan underscore
  • ✅ Case-sensitive: namaNamaNAMA
  • ❌ Tidak boleh pakai spasi atau simbol khusus (@, #, $)
  • ❌ Tidak boleh menggunakan reserved words seperti if, for, while

Tipe Data Dasar

123
🔢 Integer

Angka bulat: umur = 17, jumlah = -5

3.14
📐 Float/Double

Angka desimal: tinggi = 165.5, phi = 3.14

"Hi"
🔤 String

Teks/kata: nama = "Budi", pesan = "Hello"

✅ Boolean

Nilai logika: lulus = true, aktif = false

Contoh: Deklarasi dan Penggunaan Variabel


#include <stdio.h>

int main() {

    // Deklarasi variabel
    char nama[50];
    int umur;
    float tinggi;

    // Input data
    printf("Masukkan nama: ");
    scanf("%s", nama);

    printf("Masukkan umur: ");
    scanf("%d", &umur);

    printf("Masukkan tinggi: ");
    scanf("%f", &tinggi);

    // Output
    printf("\nData Siswa\n");
    printf("Nama   : %s\n", nama);
    printf("Umur   : %d tahun\n", umur);
    printf("Tinggi : %.2f cm\n", tinggi);

    return 0;
}
💡 Tips Penamaan: Gunakan nama yang deskriptif: total_nilai lebih baik daripada x. Gunakan snake_case (garis bawah) atau camelCase sesuai konsistensi proyek.
📚 Referensi: Pelajari tipe data lebih lanjut di W3Schools: JavaScript Data Types atau MDN Web Docs.

Kuis Modul 4: Variabel

5 Soal • 100 Poin
Skor Anda
0
/ 100 poin
1 Manakah penamaan variabel yang VALID?
2 Tipe data untuk menyimpan angka bulat adalah?
3 Tipe data "Hello World" adalah?
4 Nilai boolean yang benar adalah?
5 Variabel bersifat case-sensitive artinya?

Logika Dasar Komputer

🤔 Bagaimana komputer "berpikir" dan mengambil keputusan?
Komputer bekerja dengan logika biner: hanya mengenal dua keadaan, yaitu TRUE (1) atau FALSE (0). Operator logika membantu menggabungkan kondisi untuk pengambilan keputusan dalam program.

Pengertian Logika Boolean

Logika Boolean adalah sistem logika yang dikembangkan oleh matematikawan George Boole, yang menjadi fondasi operasi komputer modern. Dalam logika ini, setiap pernyataan hanya memiliki dua nilai: Benar (True/1) atau Salah (False/0).

Semua operasi komputer, dari kalkulasi sederhana hingga kecerdasan buatan, pada dasarnya dibangun dari kombinasi operasi logika Boolean ini.

Operator Logika Utama

Operator Simbol Contoh Hasil
AND && nilai >= 75 AND hadir = true True jika keduanya benar
OR || tugas_selesai OR ujian_lulus True jika salah satu benar
NOT ! NOT (nilai < 60) Membalik nilai (True → False)

Struktur Percabangan: IF-ELSE

Struktur Percabangan IF–ELSE

Struktur IF–ELSE adalah struktur kontrol dalam pemrograman yang digunakan untuk mengambil keputusan berdasarkan suatu kondisi.

Program akan memeriksa kondisi terlebih dahulu:

  • Jika kondisi benar (TRUE) maka program menjalankan perintah tertentu.
  • Jika kondisi salah (FALSE) maka program menjalankan perintah lainnya.

1. Bentuk Dasar IF–ELSE

Penulisan dalam pseudocode:

IF kondisi THEN
    perintah jika kondisi benar
ELSE
    perintah jika kondisi salah
END IF

Penjelasan:

  • IF : memulai pengecekan kondisi
  • kondisi : syarat yang diperiksa
  • THEN : perintah jika kondisi benar
  • ELSE : perintah jika kondisi salah
  • END IF : menutup percabangan

2. Contoh Pseudocode

Program untuk menentukan lulus atau tidak lulus.

DECLARE nilai AS integer

SET nilai = 80

IF nilai >= 75 THEN
    PRINT "Anda Lulus"
ELSE
    PRINT "Anda Tidak Lulus"
END IF

3. Contoh dalam Bahasa C

#include <stdio.h>

int main() {

    int nilai = 80;

    if (nilai >= 75) {
        printf("Anda Lulus\n");
    } 
    else {
        printf("Anda Tidak Lulus\n");
    }

    return 0;
}

4. Contoh Logika Sehari-hari

IF hujan THEN
    bawa payung
ELSE
    tidak perlu payung
END IF

Kesimpulan

Struktur IF–ELSE digunakan untuk:

  • Mengambil keputusan dalam program
  • Memilih dua kemungkinan tindakan
  • Menjalankan perintah berdasarkan kondisi

Alur kerja:

Periksa kondisi
      ↓
   TRUE ? → Jalankan perintah IF
      ↓
   FALSE → Jalankan perintah ELSE
💡 Tips Logika: Ingat: AND butuh semua benar, OR cukup satu benar, NOT membalik nilai. Gunakan tanda kurung () untuk prioritas!
📚 Referensi: Pelajari logika Boolean lebih dalam di Khan Academy: Logic Gates atau Brilliant.org.

Kuis Modul 5: Logika

5 Soal • 100 Poin
Skor Anda
0
/ 100 poin
1 Operator AND menghasilkan TRUE jika?
2 Operator OR menghasilkan FALSE jika?
3 NOT(True) menghasilkan?
4 Komputer menggunakan sistem bilangan?
5 Struktur IF-ELSE digunakan untuk?

🎉 Selamat!

Anda telah menyelesaikan semua modul Kelas X dengan total skor 0/500