0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan7 halaman

Algoritma Pemrograman

Algoritma pemrograman adalah serangkaian langkah logis yang digunakan untuk memecahkan masalah atau menyelesaikan tugas tertentu dalam pemrograman komputer. Berikut adalah konsep dasar dan contoh untuk membantu Anda memahami algoritma pemrograman.

Diunggah oleh

onetwoone276
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan7 halaman

Algoritma Pemrograman

Algoritma pemrograman adalah serangkaian langkah logis yang digunakan untuk memecahkan masalah atau menyelesaikan tugas tertentu dalam pemrograman komputer. Berikut adalah konsep dasar dan contoh untuk membantu Anda memahami algoritma pemrograman.

Diunggah oleh

onetwoone276
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

### **Algoritma Pemrograman: Dasar-Dasar dan Konsep Utama**

Algoritma pemrograman adalah serangkaian langkah logis yang digunakan untuk


memecahkan masalah atau menyelesaikan tugas tertentu dalam pemrograman komputer.
Berikut adalah konsep dasar dan contoh untuk membantu Anda memahami algoritma
pemrograman.

#### **1. Pengertian Algoritma**

Algoritma adalah urutan langkah-langkah yang jelas dan tidak ambigu untuk menyelesaikan
masalah atau mencapai tujuan tertentu. Setiap langkah dalam algoritma harus dapat
dieksekusi dalam waktu yang terbatas dan dapat diulangi.

#### **2. Karakteristik Algoritma**

##### **A. Input**


- **Deskripsi:** Algoritma menerima nol atau lebih input.

##### **B. Output**


- **Deskripsi:** Algoritma menghasilkan setidaknya satu output yang merupakan solusi dari
masalah yang diberikan.

##### **C. Kejelasan**


- **Deskripsi:** Setiap langkah dalam algoritma harus jelas dan tidak ambigu.

##### **D. Finiteness**


- **Deskripsi:** Algoritma harus berakhir setelah sejumlah langkah terbatas.

##### **E. Efisiensi**


- **Deskripsi:** Algoritma harus menggunakan sumber daya (waktu dan ruang) seefisien
mungkin.

#### **3. Struktur Dasar Algoritma**


##### **A. Urutan (Sequence)**
- **Deskripsi:** Langkah-langkah dieksekusi secara berurutan.
- **Contoh:**
```python
x=5
y = 10
z=x+y
print(z)
```

##### **B. Percabangan (Selection)**


- **Deskripsi:** Langkah-langkah dieksekusi berdasarkan kondisi tertentu.
- **Contoh:**
```python
x = 10
if x > 5:
print("x lebih besar dari 5")
else:
print("x kurang dari atau sama dengan 5")
```

##### **C. Pengulangan (Iteration)**


- **Deskripsi:** Langkah-langkah diulang sampai kondisi tertentu terpenuhi.
- **Contoh:**
```python
for i in range(5):
print("Iterasi ke-", i)
```
##### **D. Modularisasi (Subprograms)**
- **Deskripsi:** Memecah algoritma menjadi sub-algoritma yang lebih kecil dan lebih
mudah dikelola.
- **Contoh:**
```python
def tambah(a, b):
return a + b

hasil = tambah(5, 10)


print(hasil)
```

#### **4. Contoh Algoritma Sederhana**

##### **A. Algoritma Penjumlahan Dua Angka**


- **Deskripsi:** Menambahkan dua angka yang diberikan.
- **Langkah-langkah:**
1. Baca nilai a dan b.
2. Tambahkan a dan b.
3. Tampilkan hasil penjumlahan.
- **Kode:**
```python
a = int(input("Masukkan angka pertama: "))
b = int(input("Masukkan angka kedua: "))
hasil = a + b
print("Hasil penjumlahan:", hasil)
```

##### **B. Algoritma Mencari Angka Terbesar dari Tiga Angka**


- **Deskripsi:** Menemukan angka terbesar dari tiga angka yang diberikan.
- **Langkah-langkah:**
1. Baca nilai a, b, dan c.
2. Bandingkan a dengan b dan c.
3. Tampilkan nilai terbesar.
- **Kode:**
```python
a = int(input("Masukkan angka pertama: "))
b = int(input("Masukkan angka kedua: "))
c = int(input("Masukkan angka ketiga: "))

if a >= b and a >= c:


terbesar = a
elif b >= a and b >= c:
terbesar = b
else:
terbesar = c

print("Angka terbesar adalah:", terbesar)


```

##### **C. Algoritma Menghitung Faktorial**


- **Deskripsi:** Menghitung faktorial dari suatu angka n (n!).
- **Langkah-langkah:**
1. Baca nilai n.
2. Inisialisasi hasil dengan 1.
3. Ulangi dari 1 sampai n, kalikan hasil dengan indeks pengulangan.
4. Tampilkan hasil.
- **Kode:**
```python
n = int(input("Masukkan angka: "))
hasil = 1
for i in range(1, n + 1):
hasil *= i

print("Faktorial dari", n, "adalah", hasil)


```

#### **5. Algoritma dan Struktur Data**

##### **A. Algoritma Pencarian (Search Algorithms)**


- **Deskripsi:** Algoritma untuk menemukan elemen tertentu dalam struktur data.
- **Contoh:** Linear Search, Binary Search.
- **Kode (Linear Search):**
```python
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1

arr = [2, 4, 6, 8, 10]


target = 6
hasil = linear_search(arr, target)
print("Elemen ditemukan di indeks:", hasil)
```

##### **B. Algoritma Pengurutan (Sorting Algorithms)**


- **Deskripsi:** Algoritma untuk mengurutkan elemen dalam struktur data.
- **Contoh:** Bubble Sort, Merge Sort, Quick Sort.
- **Kode (Bubble Sort):**
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr

arr = [64, 34, 25, 12, 22, 11, 90]


sorted_arr = bubble_sort(arr)
print("Array setelah diurutkan:", sorted_arr)
```

#### **6. Kompleksitas Algoritma**

##### **A. Waktu Eksekusi (Time Complexity)**


- **Deskripsi:** Mengukur jumlah waktu yang dibutuhkan oleh suatu algoritma untuk
menyelesaikan tugasnya relatif terhadap ukuran input.
- **Contoh:** O(1), O(n), O(log n), O(n^2).

##### **B. Ruang Penyimpanan (Space Complexity)**


- **Deskripsi:** Mengukur jumlah ruang memori yang dibutuhkan oleh suatu algoritma
selama eksekusinya.
- **Contoh:** O(1), O(n), O(n^2).

#### **Kesimpulan**

Algoritma pemrograman adalah dasar dari setiap program komputer. Memahami struktur
dasar, karakteristik, dan kompleksitas algoritma adalah langkah awal yang penting dalam
menjadi seorang pemrogram yang efisien dan efektif. Dengan mempelajari dan menerapkan
berbagai algoritma, Anda dapat memecahkan berbagai masalah pemrograman dengan lebih
mudah dan cepat.

Anda mungkin juga menyukai