Anda di halaman 1dari 31

TIS 2.

29
Algoritma dan Pemrograman II
Nur Wakhidah, S.Kom, M.Cs
Masalah
 Masalah  segala sesuatu yang perlu
dipecahkan (kamus besar bhs. Indonesia)
 Masalah terbagi dalam 2 bentuk :
o Masalah yang terkait dengan Soal  suatu masalah
dengan persamaan matematika dan penyelesaiannya
tidak melibatkan proses analisa dalam pengambilan
keputusan
o Masalah yang terkait dengan Persoalan  suatu
masalah yang berkaitan dengan kata atau kalimat
tanya (Contoh : siapa, bagaimana, berapa, dll.) dan
penyelesaiannya lebih sering menitik beratkan pada
proses analisa sebelum melakukan pengambilan
keputusan.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 2


Pemecahan Masalah
 Memecahkan suatu masalah baik dalam bentuk
soal maupun persoalan merupakan suatu bentuk
aktivitas.
 Komputer merupakan alat bantu untuk
memecahkan suatu masalah.
 Dalam menyelesaian masalah dengan komputer
perlu merumuskan langkah-langkah penyelesaian
masalah dalam sekumpulan instruksi.
 Sekumpulan instruksi yang dimengerti oleh
komputer disebut dengan program.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 3


Bahasa Pemrograman
 Program harus ditulis dalam suatu bahasa yang
dimengerti oleh komputer, bahasa tersebut
dikenal dengan nama bahasa pemrograman.
 Dalam bahasa pemrograman dibedakan menjadi
dua (2) golongan besar , yaitu:
◦ Bahasa tingkat rendah (low level language)
◦ Bahasa tingkat tinggi (high level language)

ida@ftik.usm.ac.id FTIK - Universitas Semarang 4


Penterjemah
 Program yang ditulis dalam bahasa pemrograman
akan diterjemahkan ke bahasa mesin agar dapat
dikenal oleh komputer menggunakan
penterjemah.
 Macam penterjemah:
◦ Interpreter
◦ Compiler

ida@ftik.usm.ac.id FTIK - Universitas Semarang 5


Algoritma
SEJARAH ALGORITMA

 Algoritma  ditemukan Abu Ja’far Muhammad


Ibnu Al-Kwarizmi (ahli matematika, Uzbekistan)
 Dalam buku yang berjudul “Al-Jabr W’al
Muqabala” (Ditdit dan Riya, 2005) beliau
menjelaskan langkah-langkah penyelesaian
berbagai persoalan aritmatika.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 6


Algoritma
 Algoritma  urutan langkah-langkah logis untuk
menyelesaikan suatu masalah yang disusun secara
sistematis.
 Menurut Donal E. Knuth dalam bukunya “The Art of
Computer Programming” algoritma harus mempunyai
ciri-ciri:
◦ Algoritma harus berhenti setelah mengerjakan sejumlah
langkah terbatas.
◦ Setiap langkah harus didefinisikan dengan tepat dan jelas
◦ Algoritma memiliki masukan (input).
◦ Algoritma mempunyai keluaran (output).
◦ Algoritma harus efektif. Setiap langkah harus sederhana
sehingga dapat dikerjakan dalam waktu yang relatif singkat.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 7


Penjumlahan 2 bilangan
 Soal : 1 + 2 = ?
 Algoritma untuk pemecahan masalah pembelajaran
operasi penjumlahan 2 bilangan bulat menggunakan
garis bilangan dapat ditulis sbb:
1. Mulai.
2. Gambar garis bilangan positif yang melewati tujuh titik
berjarak sama panjang.

3. Tulis angka mulai dari titik pangkal 0 sampai dengan titik


akhir 6.

0 1 2 3 4 5 6

ida@ftik.usm.ac.id FTIK - Universitas Semarang 8


Algoritma penjumlahan 2 bilangan
4. Tempatkan penunjuk (arah panah), pada angka yang
sama dengan nilai di depan tanda + yaitu angka 1
penunjuk

0 1 2 3 4 5 6
5. Gerakkan penunjuk (arti tanda +) ke kanan sebanyak
nilai di belakang tanda +.

0 1 2 3 4 5 6

Positif  Arah gerakan ke kanan


ida@ftik.usm.ac.id FTIK - Universitas Semarang 9
Algoritma penjumlahan 2 bilangan
4. Baca angka yang tertera pada garis bilangan positif
yang ditunjuk oleh penunjuk.

0 1 2 3 4 5 6

5. Tulis angka yang ditunjuk oleh penunjuk.


6. Selesai.
 Kesimpulan yang diambil: Operasi penjumlahan
2 bilangan bulat 1+2 menghasilkan nilai 3.
ida@ftik.usm.ac.id FTIK - Universitas Semarang 10
Mengapa ?
 Alasan perlunya algoritma untuk pemecahan
suatu masalah adalah sbb:
1. Untuk mengetahui unjuk kerja dari pemecahan
masalah itu. Tahapan pemecahan masalah harus
dikerjakan secara berurutan.
2. Untuk keperluan pembelajaran. Algoritma harus
bersifat umum, sehingga dapat digunakan untuk
berbagai kasus.
3. Untuk mendapatkan cara, teknik atau proses
sistematis dari atau untuk pemecahan suatu masalah.
4. Untuk menetapkan satu algoritma yang terbaik
sebagai pemecahan suatu masalah yang dihadapi

ida@ftik.usm.ac.id FTIK - Universitas Semarang 11


Pembuktian pernyataan no.2
 Contoh algoritma harus bersifat umum.
 Soal : 2+1 = ?
 Algoritma pemecahan masalah pada penjumlahan
2 bilangan bulat adalah sbb:
1. Mulai
2. Gambar garis bilangan positif yang melewati tujuh titik
berjarak sama panjang.

3. Tulis angka mulai dari titik pangkal 0 sampai dengan


titik akhir 6.
0 1 2 3 4 5 6

ida@ftik.usm.ac.id FTIK - Universitas Semarang 12


Pembuktian pernyataan no.2
4. Tempatkan penunjuk (arah panah), pada angka yang
sama dengan nilai di depan tanda + yaitu angka 2
penunjuk

0 1 2 3 4 5 6
5. Gerakkan penunjuk (arti tanda +) ke kanan sebanyak
nilai di belakang tanda +.

0 1 2 3 4 5 6

Positif  Arah gerakan ke kanan


ida@ftik.usm.ac.id FTIK - Universitas Semarang 13
Pembuktian pernyataan no.2
4. Baca angka yang tertera pada garis bilangan positif
yang ditunjuk oleh penunjuk.

0 1 2 3 4 5 6
5. Tulis angkanya.
6. Selesai.
 Kesimpulan yang diambil: Operasi penjumlahan
2 bilangan bulat 2+1 menghasilkan nilai 3
(terbukti)

ida@ftik.usm.ac.id FTIK - Universitas Semarang 14


Pembuktian Pernyataan No.3
 Contoh : pemecahan masalah penjumlahan 2
bilangan bulat bisa menggunakan teknik lain,
yaitu teknik penampungan.
 Teknik penampungan mempunyai prinsip “AMBIL”
dan “SIMPAN”.
“AMBIL”  mengambil suatu objek dari bak
penampungan pertama.
“SIMPAN”  menyimpan suatu objek pada bak
penampungan kedua.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 15


Pembuktian Pernyataan No.3
 Soal : 2+1 = ?
 Algoritma pemecahan masalah pada penjumlahan
2 bilangan bulat yang menggunakan teknik
penampungan adalah sbb:
1. Mulai.
2. Sediakan sejumlah lidi di dalam bak penampungan
pertama Sejumlah lidi

Bak Penampungan Pertama

ida@ftik.usm.ac.id FTIK - Universitas Semarang 16


Pembuktian Pernyataan No.3
3. Sediakan bak penampung kedua
untuk menampung lidi yang diambil
dari bak penampungan pertama. Bak Penampungan
Kedua

4. AMBIL lidi sebanyak angka yang


berada di depan tanda + yaitu angka
2 pada bak pertama. Selanjutnya
SIMPAN lidi sebanyak angka yang
berada di depan tanda + tersebut Bak Penampungan
pada bak kedua. Kedua

ida@ftik.usm.ac.id FTIK - Universitas Semarang 17


Pembuktian Pernyataan No.3
5. Baca tanda, jika operasi tanda (+)
kerjakan langkah 6, jika operasi tanda
(–) kerjakan langkah 9.

6. AMBIL lidi sebanyak angka yang


berada di depan tanda +, yaitu angka 1
pada bak pertama. Selanjutnya SIMPAN
lidi sebanyak angka yang berada di
depan tanda + tersebut pada bak Bak Penampungan
kedua. Kedua

ida@ftik.usm.ac.id FTIK - Universitas Semarang 18


Pembuktian Pernyataan No.3
7. Hitung banyaknya lidi pada bak kedua.
8. Tulis banyaknya lidi pada bak kedua.
9. Selesai

 Kesimpulan yang diambil : algoritma teknik


penampungan dapat digunakan untuk
pemecahan masalah pada penjumlahan 2
bilangan bulat yaitu 2 + 1 menghasilkan nilai 3
(terbukti).

ida@ftik.usm.ac.id FTIK - Universitas Semarang 19


Pembuktian Pernyataan No.4
 Algoritma garis bilangan dan algoritma teknik
penampungan yang dipakai untuk memecahkan
masalah penjumlahan 2 bilangan bulat menunjukkan
bahwa pemecahan suatu masalah bisa dilakukan
dengan menggunakan lebih dari satu metode.
 Selanjutnya analisa kedua algoritma tersebut dengan
membandingkan dan memilih algoritma yang
terstruktur, efektif dan efisien yang akan diterapkan
pada masalah.
 Algoritma garis bilangan adalah algoritma yang paling
baik dan cocok untuk kasus tersebut.
ida@ftik.usm.ac.id FTIK - Universitas Semarang 20
Kapan Algoritma diperlukan
diperlukan??
 Berdasarkan konsep dasar algoritma 
merupakan langkah awal dari aktivitas pemecahan
masalah, maka semua masalah yang dihadapi
pemecahannya perlu menggunakan algoritma.
 Soal : 3+2 = ?
◦ Bagi anak yang baru belajar penjumlahan, algoritma
sangat diperlukan untuk pembelajarannya.
◦ Bagi seseorang yang mengenal operasi penjumlahan,
algoritma bisa tidak diperlukan.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 21


Kategori Masalah yang Perlu Algoritma
 Algoritma diperlukan untuk menghadapi masalah
yang memenuhi kategori sbb:
1. Masalah masuk dalam kategori yang rumit. Di mana
pemecahan masalahnya mempunyai lebih dari satu
proses pengerjaan.
2. Membutuhkan waktu yang lama dalam penguraian
pemecahan masalah.
3. Membutuhkan berbagai pengetahuan pendukung.
4. Mempunyai satu atau lebih variabel yang nilainya
belum pasti.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 22


Perlunya Algoritma
 Algoritma yang telah dibuat dapat digunakan
untuk pembelajaran bagi manusia atau mesin
(komputer)
 Selain untuk pembelajaran, algoritma masih perlu
di analisis. Tujuannya untuk mengukur
keabsahannya yaitu terstruktur, efektif dan efisien.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 23


Analisis Keperluan Algoritma
 Masalah: Menghitung luas segitiga siku-siku
dengan alas a = 5, dan tinggi t = 4 !

ida@ftik.usm.ac.id FTIK - Universitas Semarang 24


Analisis Keperluan Algoritma
 Apakah pemecahan masalah menghitung luas segitiga
perlu algoritma?
 Rumus luas segitiga  L= ½ x a x t
 Jawabannya TIDAK, karena nilai a dan t yang
digunakan untuk menghitung luas L telah diketahui
pasti. Alasannya :
◦ Masalah itu merupakan masalah yang terkait dengan masalah
soal sehingga ia masuk dalam kategori bukan masalah rumit.
◦ Dalam pemecahan masalah tidak lebih dari satu proses.
◦ Tidak mempunyai nilai variabel yang tidak pasti dalam
menentukan luas segitiga L.

ida@ftik.usm.ac.id FTIK - Universitas Semarang 25


Pemecahan Masalah Perlu Algoritma
 Perhatikan soal :

Hitung luas segitiga di


samping dengan data-data
sbb: 300
◦ Alas a = 5
◦ Sudut miring theta = 300 5

ida@ftik.usm.ac.id FTIK - Universitas Semarang 26


Pemecahan Masalah Perlu Algoritma
 Pemecahan masalah pada soal tersebut memerlukan
algoritma, alasannya:
1. Rumus menghitung luas segitiga tidak dapat digunakan
secara langsung, karena nilai tinggi t belum diketahui.
2. Masalah itu merupakan masalah yang terkait dengan
masalah persoalan dan masuk dalam kategori masalah yang
rumit.
3. Pemecahannya mengandung lebih dari satu proses, yaitu:
a. Proses menghitung sisi miring segitiga
b. Proses menghitung tinggi segitiga
 Trigonometri
 Phytagoras
c. Proses menghitung luas segitiga

ida@ftik.usm.ac.id FTIK - Universitas Semarang 27


Algoritma hitung luas segitiga
1. Mulai

2. Gambar kembali segitiga, r


t
beri inisial sisi miring r
dan tinggi t. 300

5
3. Baca alas a dan theta

ida@ftik.usm.ac.id FTIK - Universitas Semarang 28


Algoritma hitung luas segitiga
4. Uraikan segitiga itu trigonometri Phytagoras
menurut konsep cos( sudut ) =
alas r 2 = (alas ) 2 + t 2
trigonometri dan r
phytagoras tinggi
sin( sudut ) =
r

5. Hitung sisi miring segitiga


berdasarkan konsep
trigonometri alas
r=
cos(sudut )

ida@ftik.usm.ac.id FTIK - Universitas Semarang 29


Algoritma hitung luas segitiga
6. Hitung tinggi segitiga
berdasarkan konsep tinggi = (r ) 2 − (alas ) 2
phytagoras

7. Hitung luas segitiga L L = 1 2 × alas × tinggi

8. Tulis L

9. Selesai

ida@ftik.usm.ac.id FTIK - Universitas Semarang 30


T
E
R
I
M
A

K
A
S
I
H

Sampai ketemu lagi minggu depan ..


ida@ftik.usm.ac.id FTIK - Universitas Semarang 31