Pertemuan-II ALGORITMA & PEMROGRAMAN

Download Report

Transcript Pertemuan-II ALGORITMA & PEMROGRAMAN

ALGORITMA &
PEMROGRAMAN-1
Sekreningsih Nita
KETENTUAN PERKULIAHAN
Bobot
Pertemuan Total
Tengah Semester-I
Tengah Semester-II
Ujian (UTS+UAS)
Tugas/Quiz (min)
= 2 sks
= 16x (-2x ujian)
= 7x  (8) UTS
= 7x  (8) UAS
= 2x
= 2x
Bobot Penilaian
UTS
= 30 %
UAS
= 40 %
ABSEN
= 10 %
TUGAS/ QUIZ = 20 %
Total
= 100 %
Pertemuan-I
SEJARAH ALGORITMA
 Ditinjau dari asal usul katanya kata Algoritma sendiri
mempunyai sejarah yang aneh. Orang hanya
menemukan kata Algorism yang berarti proses
menghitung dengan angka arab. Anda dikatakan
Algorist jika anda menghitung menggunakan Angka
Arab. Para ahli bahasa berusaha menemukan asal
kata ini namun hasilnya kurang memuaskan.
 Akhirnya para ahli sejarah matematika menemukan
asal kata tersebut yang berasal dari nama penulis
buku arab yang terkenal yaitu :
 Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi.
SEJARAH
ALGORITMA
 Al-Khwarizmi dibaca orang barat menjadi Algorism.
Al-Khwarizmi menulis buku yang berjudul Kitab Al Jabar WalMuqabala yang artinya “Buku pemugaran dan pengurangan”
(The book of restoration and reduction). Dari judul buku itu
memperoleh akar kata “Aljabar” (Algebra).
 Perubahan kata dari Algorism menjadi Algorithm muncul
karena kata Algorism sering dikelirukan dengan Arithmetic,
shg akhiran –sm berubah menjadi –thm. Karena perhitungan
dengan angka Arab sudah menjadi hal yang biasa. Maka
lambat laun kata Algorithm berangsur-angsur dipakai sebagai
metode perhitungan (komputasi) secara umum, sehingga
kehilangan makna kata aslinya. Dalam Bahasa Indonesia,
kata Algorithm diserap menjadi Algoritma.
Tentang
Al-Khawarizmi (1)
Kata Algoritma diambil dari nama ilmuwan muslim :
“Abu Ja’far Muhammad bin Musa Al-Khwarizmi
(780-846 M) “
Lahir di Khwarizmi, Uzbeikistan , thn 194 H/ 780 M.
Masuk kelingkungan Dar al-Hukama (Rumah Kebijaksanaan) ,
sebuah lembaga penelitian dan pengembangan ilmu
pengetahuan yg didirikan oleh Ma’mun Ar-Rasyid (seorang
khalifah Abbasiyah yg terkenal).
Karya yg dihasilkan dibidang :
 Matematika ; Geografi (Buku : surat Al-Ardi , bentuk rupa
bumi,sebagai dasar geografi Arab),karya ini disimpan di
Strassberg Jerman) ; Musik ; Sejarah
Tentang
Al-Khawarizmi (2)
Karya Al-Khwarizmi dlm bid.matematika ada 2 :
- Hisab al-Jabr wa al-Mugabla (Pengutuhan
Kembali dan Pembandingan)
- Al-Jama’ wa at-Tafriq bi Hisab al-Hind
(Menambah& Mengurangi dlm matematika
Hindu)
Kedua karya tsb menguraikan ttg persamaan linier
& kuadrat ; penghitungan integrasi & persamaan
dg 800 contoh yg berbeda ; tanda-tanda negatif
yg sblmnya blm dikenal oleh bangsa Arab .
Tentang
Al-Khawarizmi (3)
Dlm karya Al-Jama’ wa at-Tafriq,Al-Kwarizmi
menjelaskan ttg seluk beluk kegunaan
angka2,termasuk angka NOL dlm kehidupan
sehari-hari ,yg kemudian diterjemakan kedalam
Bhs Latin .
Oleh karenanya Al-Khwarizmi diyakini sbg penemu
“Angka NOL”
Selain sbg ahli dlm bid.matematika juga sebagai
“Astronom” sebuah tim (Khalifah Ma’mun) yg
dipimpinnya berhasil menentukan ukuran dan
bentuk bundaran bumi .
Al-Kwarizmi meninggal thn 262 H/ 846 M di Bagdad
ALGORITMA
Definisi Algoritma
1. Algoritma adalah urutan langkah-langkah
utk menyelesaikan masalah yang disusun
secara sistematis dan logis .
2. Suatu metode/cara yg terdiri dari satu /
beberapa langkah yg harus diikuti untuk
menyelesaikan masalah .
3. Spesifikasi urutan langkah2 utk melakukan
pekerjaan tertentu.
KARAKTERISTIK /SYARAT ALGORITMA
1. Algoritma harus tidak ambigu (unambiguous);
deskripsi langkah2 dlm algoritma harus dan hanya
mempunyai tafsiran tunggal .
2. Algoritma harus tepat (precise) ; algoritma hrs
menyatakan dg jelas kapan berhenti dr sebuah
langkah utk meneruskan kelangkah berikutnya
3. Algoritma harus pasti (definite) ; jika serangkaian
langkah yg sama dilakukan 2x maka hasilnya harus
selalu sama
4. Algoritma harus berhingga (finite) ; serangkaian
algoritma harus dpt dilaksanakan pd rentang waktu
ttt spt yg telah ditetapkan.
TOP-DOWN DESIGN
[1]
Pemecahan sebuah masalah pd hakekatnya
adalah menemukan langkah2 tertentu yg jika
dijalankan efeknya akan memecahkan masalah
tsb .
Top-Down Design  mendekomposisi /memecah
masalah menjadi lebih sederhana/sub-masalah
dan memeriksa hubungan antara submasalah2
tsb sblm dikembangkan dlm spesifikasi yg lebih
rinci .
Sub-masalah hasil dekomposisi disebut “Modul”
TOP-DOWN DESIGN
[2]
Ada 2 karakteristik dr Modul yg harus dipenuhi :
1. Sebuah modul harus menjalankan tugas2 yg
spesifik .
2. Sebuah modul harus tidak terlalu panjang.
Contoh-1 :
Pemecahan masalah “menelpon” ,langkah2 sbb :
1. Angkat gagang telpon
2. Masukkan koin
3. Tekan no yg akan dihubungi
4. Bicara
5. Letakkan gagang telepon
TOP-DOWN DESIGN
[3]
Langkah tsb apabila dlm kondisi normal,telp dlm keadaan baik,
telp yg dihubungi ada yg mengangkat  masalah menelpon
dpt dipecahkan .
Tetapi utk keadaan yg tidak normal , maka langkah2 tsb tdk
akan memecahkan masalah .
Oleh karena itu langkah (1) harus dikembangkan menjadi :
1. Angkat gagang telepon
2. a. Jika terdengar nada panggil , masukkan koin
b. Jika tidak terdengar nada panggil ,ke langkah 5
3. Tekan nomor yg akah dihubungi
4. a. Jika telepon yg dihubungi ada yg mengangkat, bicara
b. Jika telepon yg dihubungi tidak ada yg mengangkat ke
langkah 5
5. Letakkan gagang telepon .
CONTOH-2
: TOP-DOWN DESIGN
Algoritma mengirimkan pesan singkat (sms) :
1. Ambil Handphone
2. Masuk menu SMS
3. Pilih Sub-Menu Tulis SMS
4. Tuliskan isi SMS
5. Tekan menu
6. Masukkan nomor yang dituju
7. Tekan ok
8. Tunggu report
9. Apabila SMS terkirim, Selesai
10. Jika sms tak terkirim, lompat ke langkah 5
RUMUSAN
TOP-DOWN DESIGN
[4]
Langkah2 dlm Top-Down Design dapat dirumuskan sbb
:
1. Dekomposisi masalah utama menjadi submasalah2
scr tepat .
2. Periksa bhw setiap submasalah dipecahkan scr tepat
3. Pemecahan dr setiap submasalah digabungkan dg
cara tertentu shg masalah utama terpecahkan .
4. Ulangi langkah 1 sampai 3 sampai submasalah
dibagi menjadi sub-submasalah yg sederhana dan
dapat dipecahkan dg program yg cukup singkat .
KEUNTUNGAN ALGORITMA
Pembuatan algoritma mempunyai banyak keuntungan
diantaranya:
1. Pembuatan atau penulisan algoritma tidak
tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa
pemrograman dan komputer yg melaksanakannya.
2. Notasi algoritma dapat diterjemahkan kedalam
berbagai bahasa pemrograman.
 3. Apapun bahasa pemrogramannya, output yang
akan dikeluarkan sama karena algoritmanya sama.
ALGORITMA merupakan
JANTUNG ILMU INFORMATIKA
 Banyak cabang ilmu komputer yg diacu dlm terminologi
algoritma .
 NAMUN , tidak semua algoritma identik dgn ilmu komputer
saja . Dlm kehidupan sehari-haripun bnyk terdapat proses yg
dinyatakan dlm bentuk algoritma . Contoh: [proses masak]
- proses pembuatan kue/masakan yg dinyatakan dlm suatu resep
(resep=algoritma) , krn dlm setiap resep selalu ada urutan/langkahlangkah/cara membuatnya. Bila langkah2nya tdk logis, maka tidak
akan dihasilkan masakan yg diinginkan .
 Scr umum pihak (benda) yg mengerjakan proses disebut
pemroses (processor). Pemroses dapat berupa manusia ,
komputer, robot/alat-alat elektronik lainnya .
* Pemroses melakukan suatu proses dgn melaksanakan atau
mengeksekusi algoritma yg menjabarkan proses tsb .
Melaksanakan Algoritma, berarti
melaksanakan langkah2 didlm suatu
proses.
 Pemroses mengerjakan proses sesuai dengan
algoritma(tata cara) yg diberikan kpdnya .
 Juru masak membuat kue berdasarkan resep yg
diberikan kpdnya , pianis memainkan lagu
berdasarkan papan not balok .
 Oleh krn itu ALGORITMA harus dinyatkaan dlm
bentuk yg dpt dimengerti oleh pemroses.
 PEMROSES harus ;
- mengerti setiap langkah dlm algoritma.
- mengerjakan operasi yg bersesuaian dgn langkah
tsb .
NOTASI ALGORITMA
 Notasi Algoritma , dapat diterjemahkan kedlm
berbagai bhs pemrograman. Analoginya sama
dengan resep membuat kue . Sebuah resep
dapat ditulis dlm bhs apapun , bisa dgn bhs
Jepang , Inggris , Perancis , Indonesia,dll .
 Apapun bhs nya,kue yg dihasilkan tetap sama
asalkan semua aturan pd resep diikuti . Mengapa
demikian ? Krn setiap jurus masak (sbg
pemroses) dpt melakukan operasi dasar yg
sama,spt mengocok telur,menimbang berat
gula,dsb
Metode Algoritma
Ada 2 cara dlm penulisan Algoritma yaitu :
1. Tulisan :
a. Algoritma dg Struktur Bahasa Fundamental
(deskriptif) .
b. Pseudo-Code (kode/tanda yg menyerupai
(pseudo) atau merupakan penjelasan cara
menyelesaikan suatu masalah)
2. Gambar  Diagram Alir (Flowchart)
Metode Algoritma dg TULISAN
Algoritma dg Struktur Bahasa
Fundamental (deskriptif) .
CONTOH(1) : PROGRAM BELI BAJU
 Algoritma (struktur bahasa) ;
1. Masuk toko pakaian
2. Lihat ukuran , ulangi jika ukuran tdk sesuai
, cari ukuran yg lain
3. Lihat baju lain
4. Periksa harga , apakah harga sesuai ?
- jika ya , beli
- jika tidak , langkah-3
5. Selesai , pulang .
CONTOH(2) : PROGRAM NONTON FILM
 Algoritma (struktur bahasa) ;
1. Apakah usia > 21 th
- jika ya , boleh nonton
silahkan duduk
- jika tidak , tidak boleh nonton
pulang
2. Selesai.
CONTOH(3) : MENCARI BIL.TERBESAR
(A,B,C)
1. Beri nilai awal pd A,B,C
2. Baca A,B,C
3. Apakah A>B ? ;
- Jika ya , apakah A>C ?
Jika ya : cetak , A = Bil. Terbesar
Jika tdk : cetak , C = Bil. Terbesar
4. Apakah B>C ? ;
Jika ya : cetak , B = Bil.Terbesar
Jika tdk : cetak , C = Bil.Terbesar
5. Selesai .
PR
ALGORITMA DLM URAIAN DESKRIPTIF :
1. Ambil sebungkus mie instan dan pelajari
cara memasaknya ! (pelajari cara memasak
tsb menjadi sebuah algoritma) .
2. Buat algoritma menjalankan sepeda motor
(apakah algoritma yg telah dibuatt sudah
mencakup semua kemungkinan kejadian ?) .
Sampai ketemu minggu depan 
METODE ALGORITMA
(PSEUDO CODE)