Materi 1 Algoritma dan Pemrograman

Belajar SolidWorks untuk Pemula: Panduan Dasar Membuat Desain 3D dari Nol

Algoritma adalah urutan langkah-langkah yang logis, sistematis, dan terstruktur untuk menyelesaikan suatu masalah.

Contoh sederhana:

Masalah: Menghitung luas persegi panjang.

Langkah algoritma:

  1. Masukkan panjang.
  2. Masukkan lebar.
  3. Hitung luas = panjang × lebar.
  4. Tampilkan luas.

Algoritma tidak harus ditulis menggunakan bahasa pemrograman. Algoritma dapat ditulis menggunakan bahasa sehari-hari, pseudocode, maupun flowchart.


2. Pengertian Pemrograman

Pemrograman adalah proses menerjemahkan algoritma atau solusi suatu masalah ke dalam bahasa pemrograman agar dapat dijalankan oleh komputer.

Contoh algoritma:

Masukkan panjang
Masukkan lebar
Hitung luas = panjang × lebar
Tampilkan luas

Kemudian diterjemahkan ke Python:

panjang = 10
lebar = 5

luas = panjang * lebar

print(luas)

Output:

50

3. Hubungan Algoritma dan Pemrograman

Algoritma dan pemrograman memiliki hubungan yang sangat erat.

Urutannya:

MASALAH
   ↓
ANALISIS MASALAH
   ↓
ALGORITMA
   ↓
PSEUDOCODE / FLOWCHART
   ↓
PROGRAM
   ↓
OUTPUT

Contoh:

Masalah:

Menghitung total belanja.

Algoritma:

  1. Masukkan harga barang.
  2. Masukkan jumlah barang.
  3. Hitung total = harga × jumlah.
  4. Tampilkan total.

Program:

harga = 15000
jumlah = 3

total = harga * jumlah

print("Total belanja =", total)

4. Tujuan Mempelajari Algoritma dan Pemrograman

Tujuan utama mempelajari algoritma dan pemrograman adalah:

  1. Melatih kemampuan berpikir logis.
  2. Melatih kemampuan memecahkan masalah.
  3. Memahami cara kerja komputer.
  4. Membuat solusi yang sistematis.
  5. Membuat aplikasi atau program.
  6. Meningkatkan kemampuan berpikir komputasional.
  7. Membuat proses pekerjaan menjadi otomatis.
  8. Mengembangkan software dan sistem informasi.

5. Karakteristik Algoritma

Algoritma yang baik memiliki beberapa karakteristik:

a. Memiliki Input

Algoritma dapat menerima data masukan.

Contoh:

Masukkan nilai mahasiswa

b. Memiliki Output

Algoritma menghasilkan suatu keluaran.

Contoh:

Tampilkan nilai akhir

c. Definiteness

Setiap langkah harus jelas dan tidak ambigu.

Contoh:

Hitung total = harga × jumlah

lebih jelas daripada:

Hitung total belanja

d. Finiteness

Algoritma harus memiliki akhir.

Algoritma tidak boleh berjalan tanpa batas jika memang tidak diperlukan.

e. Effectiveness

Setiap langkah harus dapat dilakukan dan memiliki tujuan yang jelas.


6. Tahapan Penyelesaian Masalah

Dalam membuat program, kita dapat menggunakan tahapan berikut:

1. Identifikasi Masalah

Tentukan masalah yang akan diselesaikan.

Contoh:

Bagaimana menghitung total harga belanja?

2. Analisis Masalah

Tentukan:

  • Input
  • Proses
  • Output

Contoh:

Input:

Harga
Jumlah

Proses:

Total = Harga × Jumlah

Output:

Total belanja

3. Membuat Algoritma

Contoh:

1. Mulai
2. Input harga
3. Input jumlah
4. Hitung total = harga × jumlah
5. Tampilkan total
6. Selesai

4. Membuat Flowchart atau Pseudocode

Algoritma dapat divisualisasikan menggunakan flowchart atau ditulis menggunakan pseudocode.

5. Implementasi

Algoritma diterjemahkan ke bahasa pemrograman.

6. Testing

Program diuji menggunakan berbagai data.

7. Debugging

Jika terdapat kesalahan, program diperbaiki.

8. Dokumentasi dan Pemeliharaan

Program didokumentasikan dan dapat dikembangkan kembali.


7. Struktur Dasar Algoritma

Secara umum terdapat tiga struktur dasar algoritma:

  1. Runtunan
  2. Percabangan
  3. Perulangan

Ketiga struktur ini merupakan dasar penting dalam pemrograman.


8. Runtunan

Runtunan adalah instruksi yang dijalankan secara berurutan dari langkah pertama sampai terakhir.

Contoh:

1. Masukkan panjang
2. Masukkan lebar
3. Hitung luas
4. Tampilkan luas

Python:

panjang = 10
lebar = 5

luas = panjang * lebar

print("Luas =", luas)

Contoh lain:

nama = "Budi"
umur = 20
alamat = "Bogor"

print(nama)
print(umur)
print(alamat)

9. Percabangan

Percabangan digunakan ketika program harus memilih suatu kondisi.

Contoh:

Jika nilai >= 60
    maka LULUS
Jika tidak
    maka TIDAK LULUS

Python:

nilai = 75

if nilai >= 60:
    print("LULUS")
else:
    print("TIDAK LULUS")

Jenis Percabangan

a. IF

if nilai >= 60:
    print("LULUS")

b. IF ELSE

if nilai >= 60:
    print("LULUS")
else:
    print("TIDAK LULUS")

c. IF ELIF ELSE

if nilai >= 80:
    print("A")
elif nilai >= 70:
    print("B")
elif nilai >= 60:
    print("C")
else:
    print("D")

d. Nested IF

Percabangan di dalam percabangan.

nilai = 85
absen = 90

if nilai >= 60:
    if absen >= 75:
        print("LULUS")
    else:
        print("TIDAK LULUS")
else:
    print("TIDAK LULUS")

10. Perulangan

Perulangan digunakan untuk menjalankan instruksi berulang kali.

Contoh:

Tampilkan angka 1 sampai 5

Python:

for i in range(1, 6):
    print(i)

Output:

1
2
3
4
5

Jenis Perulangan

a. FOR

Digunakan ketika jumlah perulangan sudah diketahui.

for i in range(5):
    print("Belajar Python")

b. WHILE

Digunakan selama kondisi masih bernilai benar.

i = 1

while i <= 5:
    print(i)
    i += 1

11. Variabel

Variabel adalah tempat untuk menyimpan data.

Contoh:

nama = "Budi"
umur = 20
nilai = 85

Dalam contoh tersebut:

nama  → "Budi"
umur  → 20
nilai → 85

Variabel memungkinkan program menyimpan dan memproses data.


12. Tipe Data

Tipe data menentukan jenis data yang disimpan.

Beberapa tipe data yang umum:

Integer

Bilangan bulat.

umur = 20

Float

Bilangan desimal.

tinggi = 170.5

String

Teks.

nama = "Sutrisno"

Boolean

Nilai benar atau salah.

lulus = True

13. Operator

Operator digunakan untuk melakukan operasi terhadap data.

Operator Aritmatika

+   Penjumlahan
-   Pengurangan
*   Perkalian
/   Pembagian
%   Modulus
//  Pembagian bulat
**  Pangkat

Contoh:

a = 10
b = 3

print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a % b)

14. Operator Perbandingan

Operator perbandingan menghasilkan nilai True atau False.

==   Sama dengan
!=   Tidak sama dengan
>    Lebih besar
<    Lebih kecil
>=   Lebih besar atau sama dengan
<=   Lebih kecil atau sama dengan

Contoh:

nilai = 80

print(nilai >= 60)

Output:

True

15. Operator Logika

Operator logika digunakan untuk menggabungkan beberapa kondisi.

and
or
not

Contoh:

nilai = 80
absen = 90

if nilai >= 60 and absen >= 75:
    print("LULUS")

16. Input dan Output

Program biasanya menerima input dari pengguna kemudian menghasilkan output.

Contoh Python:

nama = input("Masukkan nama: ")
print("Halo", nama)

Contoh menghitung luas:

panjang = float(input("Panjang: "))
lebar = float(input("Lebar: "))

luas = panjang * lebar

print("Luas =", luas)

17. Pseudocode

Pseudocode adalah cara menuliskan algoritma menggunakan bahasa yang sederhana dan menyerupai struktur program.

Contoh:

ALGORITMA HitungLuasPersegiPanjang

DEKLARASI
    panjang : integer
    lebar : integer
    luas : integer

DESKRIPSI
    Input panjang
    Input lebar
    luas ← panjang × lebar
    Output luas

Pseudocode tidak terikat pada bahasa pemrograman tertentu.


18. Flowchart

Flowchart adalah diagram yang digunakan untuk menggambarkan alur algoritma.

Simbol dasar:

Oval       → Start / End

Persegi    → Process

Jajar Genjang → Input / Output

Belah Ketupat → Decision

Panah      → Flow / Aliran

Contoh alur:

Mulai
  ↓
Input nilai
  ↓
nilai >= 60?
  ↓
 ┌─────────────┐
Ya             Tidak
 ↓               ↓
LULUS       TIDAK LULUS
 ↓               ↓
 └───────┬───────┘
         ↓
       Selesai

19. Fungsi

Fungsi adalah sekumpulan instruksi yang dibuat untuk melakukan tugas tertentu.

Contoh:

def luas_persegi(panjang, lebar):
    return panjang * lebar

hasil = luas_persegi(10, 5)

print(hasil)

Keuntungan menggunakan fungsi:

  1. Program lebih terstruktur.
  2. Kode dapat digunakan kembali.
  3. Program lebih mudah dipelihara.
  4. Mengurangi pengulangan kode.

20. Array / List

Array atau list digunakan untuk menyimpan beberapa data dalam satu variabel.

Contoh:

nilai = [80, 75, 90, 85, 70]

print(nilai[0])
print(nilai[1])

Output:

80
75

Data dapat diproses menggunakan perulangan:

nilai = [80, 75, 90, 85, 70]

for n in nilai:
    print(n)

21. Algoritma Pencarian

Algoritma pencarian digunakan untuk menemukan data.

Contoh Linear Search:

data = [10, 20, 30, 40, 50]
target = 30

for i in range(len(data)):
    if data[i] == target:
        print("Data ditemukan pada indeks", i)

Ada juga Binary Search, yang bekerja pada data yang sudah terurut.

Binary Search memiliki kompleksitas waktu sekitar:

O(log n)

22. Algoritma Pengurutan

Sorting digunakan untuk mengurutkan data.

Contoh:

data = [50, 20, 40, 10, 30]

data.sort()

print(data)

Output:

[10, 20, 30, 40, 50]

Beberapa algoritma sorting:

  1. Bubble Sort
  2. Selection Sort
  3. Insertion Sort
  4. Merge Sort
  5. Quick Sort
  6. Heap Sort

23. Kompleksitas Algoritma

Kompleksitas digunakan untuk mengetahui seberapa efisien sebuah algoritma dalam menggunakan waktu dan sumber daya.

Notasi yang sering digunakan adalah Big O.

Contoh:

O(1)
O(log n)
O(n)
O(n log n)
O(n²)
O(2ⁿ)

Contoh O(1):

print(data[0])

Contoh O(n):

for data in daftar:
    print(data)

Contoh O(n²):

for i in data:
    for j in data:
        print(i, j)

24. Debugging

Debugging adalah proses mencari dan memperbaiki kesalahan dalam program.

Jenis kesalahan:

Syntax Error

Kesalahan penulisan sintaks.

if nilai >= 60
    print("Lulus")

Runtime Error

Kesalahan ketika program sedang dijalankan.

Contoh pembagian dengan nol:

hasil = 10 / 0

Logic Error

Program berjalan tetapi hasilnya salah.

Contoh:

panjang = 10
lebar = 5

luas = panjang + lebar

Seharusnya:

luas = panjang * lebar

25. Contoh Studi Kasus

Kasus: Menghitung Total Belanja

Seorang pelanggan membeli beberapa barang.

Input:

Harga barang
Jumlah barang

Proses:

Total = Harga × Jumlah

Output:

Total pembayaran

Algoritma

1. Mulai
2. Input harga
3. Input jumlah
4. Hitung total = harga × jumlah
5. Tampilkan total
6. Selesai

Pseudocode

BEGIN

Input harga
Input jumlah

total ← harga × jumlah

Output total

END

Python

harga = float(input("Harga barang: "))
jumlah = int(input("Jumlah barang: "))

total = harga * jumlah

print("Total belanja =", total)

26. Contoh Studi Kasus Percabangan

Menentukan Kelulusan

Ketentuan:

Nilai >= 60 → LULUS
Nilai < 60  → TIDAK LULUS

Python:

nilai = float(input("Masukkan nilai: "))

if nilai >= 60:
    print("LULUS")
else:
    print("TIDAK LULUS")

27. Contoh Studi Kasus Perulangan

Menampilkan Bilangan 1–10

Algoritma:

1. Mulai
2. i = 1
3. Tampilkan i
4. Tambahkan i dengan 1
5. Jika i <= 10 kembali ke langkah 3
6. Selesai

Python:

for i in range(1, 11):
    print(i)

28. Konsep Penting yang Perlu Dikuasai

Untuk belajar algoritma dan pemrograman dari dasar, urutan materi yang baik adalah:

1. Pengantar Algoritma
2. Analisis Masalah
3. Input – Process – Output
4. Variabel
5. Konstanta
6. Tipe Data
7. Operator
8. Runtunan
9. Percabangan
10. Perulangan
11. Array / List
12. String
13. Fungsi
14. Rekursi
15. Searching
16. Sorting
17. Struktur Data Dasar
18. Algoritma Greedy
19. Algoritma Divide and Conquer
20. Kompleksitas Algoritma
21. Big O
22. Debugging
23. Testing
24. Studi Kasus
25. Implementasi Program

Kesimpulan

Algoritma adalah cara berpikir dan langkah penyelesaian masalah, sedangkan pemrograman adalah proses menerjemahkan langkah tersebut menjadi program yang dapat dijalankan komputer.

Dasar utama algoritma dan pemrograman dapat diringkas menjadi:

INPUT
  ↓
PROSES
  ↓
OUTPUT

dan tiga struktur fundamental:

RUNTUNAN
   +
PERCABANGAN
   +
PERULANGAN

Ketiga konsep tersebut menjadi fondasi untuk mempelajari algoritma dan pemrograman yang lebih lanjut.

Leave a Reply

Your email address will not be published. Required fields are marked *