2. Algoritma dan pemro

download report

Transcript 2. Algoritma dan pemro

Dasar- Dasar Algoritma
Struktur Sistem Komputer :
Siklus Hidup Perangkat Lunak
Dilihat dari Struktur Sistem Komputer dan Siklus diatas,
Algoritma Pemrograman menempati posisi dibagian
software dan di bagian implementasi karena bagian
implementasi merupakan bagian dimana pemrogram
melakukan proses coding (pembuatan program.)
Algoritma :
Asal kata Algoritma berasal dari nama Abu Ja’far
Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia
yang menulis kitab al jabr w’al-muqabala (rules of
restoration and reduction) sekitar tahun 825 M
Defenisi Algoritma
Algoritma adalah urutan langkah logis tertentu untuk
memecahkan suatu masalah. Yang ditekankan adalah urutan
langkah logis, yang berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang
dituangkan secara tertulis. Yang ditekankan pertama adalah alur
pikiran, sehingga algoritma seseorang dapat juga berbeda dari
algoritma orang lain. Sedangkan penekanan kedua adalah
tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.
Contoh :
Jika seseorang ingin mengirim surat kepada kenalannya
di tempat lain, langkah yang harus dilakukan adalah :




Menulis surat
Surat dimasukkan ke dalam amplop tertutup
Amplop ditempeli perangko secukupnya
Pergi ke Kantor Pos terdekat untuk mengirimkan
nya
Contoh :
Algoritma menghitung luas persegi panjang:




Masukkan panjang (P)
Masukkan lebar (L)
L= P*L
Tulis L
Definisi Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis.
Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan
berwarna biru. Pertukarkan isi kedua bejana itu
sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna
merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.
• Algoritma TUKAR ISI BEJANA di atas tidak
menghasilkan pertukaran yang benar. Langkah
di atas tidak logis, hasil pertukaran yang terjadi
adalah percampuran kedua larutan tersebut.
• Untuk mempertukarkan isi duah bejana,
diperlukan sebuah bejana tambahan sebagai
tempat penampungan sementara, misalnya
bejana C. Maka algoritma untuk menghasilkan
pertukaran yang benar adalah sebagai berikut :
Algoritma Tukar Isi Bejana
Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan
berwarna biru. Pertukarkan isi kedua bejana itu
sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna
merah.
DESKRIPSI :
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.
Ciri Penting Algoritma
• Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas.
• Setiap langkah harus didefinisikan dengan
tepat dan tidak berarti-dua (Ambiguitas).
• Algoritma memiliki nol atau lebih masukkan.
• Algoritma memiliki nol atau lebih keluaran.
• Algoritma harus efektif (setiap langkah harus
sederhana sehingga dapat dikerjakan dalam
waktu yang masuk akal).
Dalam bidang komputer, algoritma sangat diperlukan dalam
menyelesaikan berbagai masalah pemrograman, terutama
dalam komputasi numeris.
Tanpa algoritma yang dirancang baik maka proses
pemrograman akan menjadi salah, rusak, atau lambat dan
tidak efisien
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara :
manusia memberikan perintah-perintah kepada komputer
berupa instruksi-instruksi yang disebut program
• Komputer adalah alat bantu untuk
menyelesaikan masalah.
• Dalam menyelesaian masalah dengan
komputer perlu merumuskan langkah langkah
penyelesaian masalah dalam
sekumpulan instruksi.
• Sekumpulan instruksi yang dimengerti
oleh komputer yang disebut dengan
program
Alat yang digunakan untuk membuat program tersebut adalah
bahasa pemrograman.
Bahasa pemrograman dapat dikategorikan dalam :
 Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP
 Bahasa tingkat menengah[MLL] : Assembly
 Bahasa tingkat rendah [LLL] : Machine Code
Dari berbagai bahasa pemrograman cara memberikan
instruksinya berbeda-beda namun bertujuan menghasilkan
output yang sama
Bahasa Pemrograman :
Program yang ditulis dalam bahasa pemrograman akan
diterjemahkan ke dalam bahasa mesin (biner) menggunakan p
enterjemah.
Interpreter :
Menterjemahkan baris per baris instruksi [Bahasa Basic]
Compiler
Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]
Memprogran dan Bahasa Permograman
• Belajar memprogram adalah belajar tentang
metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu
yang mudah dibaca dan dipahami.
• Belajar bahasa pemrograman adalah belajar
memakai suatu bahasa, aturan tata bahasanya,
instruksi-instruksinya, tata cara pengoperasian
compiler-nya untuk membuat program yang
ditulis dalam bahasa itu saja.
Notasi Algoritma
Penulisan algoritma tidak tergantung dari
spesifikasi bahasa pemrograman dan
komputer yang mengeksekusinya. Notasi
algoritma bukan notasi bahasa
pemrograman tetapi dapat diterjemahkan
ke dalam berbagai bahasa pemrograman
Notasi algoritma : Uraian kalimat deskriptif (narasi)
Contoh
Algoritma Kelulusan_mhs
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebi
h besar atau sama dengan 60 maka mahasiswa tersebut d
inyatakan lulus. jika nilai lebih kecil dari 60 maka dinyataka
n tidak lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan
Notasi algoritma : PseudoCode
Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih
besar atau sama dengan 60 maka mahasiswa tersebut
dinyatakan lulus jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)
Notasi Algoritma : Flow Chart
Digunakan untuk menunju
kkan awal dan akhir progr
am
Digunakan untuk memberi
kan nilai awal (inisial) pad
a suatu variabel atau cou
nter
Digunakan untuk proses,
pengolahan arithmatik, da
n pemindahan data
Digunakan untuk mewakili
operasi perbandingan logi
ka yang dibutuhkan pada
Selection dan Looping
Digunakan untuk menyataka
n operasi memasukkan data/
input dan menampilkan data
/output
Digunakan untuk proses
yang detailnya dijelaska
n terpisah, misalkan unt
uk menyatakan prosedu
r, atau sub program
Digunakan untuk hubung
an arus proses yang terp
utus masih di halaman y
ang sama
Digunakan untuk hubun
gan arus proses yang t
erputus di halaman yan
g berbeda
Digunakan untuk mengh
ubungan antar simbol/el
emen yang lain dan sek
aligus menyatakan arah
aliran
Aturan Penulisan Algoritma
• Judul algoritma
Bagian yang terdiri atas nama algoritma dan
penjelasan (spesifikasi) tentang algoritma tersebut.
Nama sebaiknya singkat dan menggambarkan apa
yang dilakukan oleh algoritma tersebut.
• Deklarasi
Bagian untuk mendefinisikan semua nama yang
digunakan di dalam program. Nama tersebut dapat
berupa nama tetapan, peubah, tipe, prosedur dan
fungsi.
• Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian
masalah yang ditulis dengan menggunakan notasi
yang akan dijelaskan selanjutnya
Algoritma Luas_Kell_Lingkaran {<- ini judul algoritma}
{menghitung luas dan keliling lingkaran untuk ukuran jari-ja
ri
tertentu. Algoritma menerima masukan jari-jari lingkaran,
menghitung luas dan kelilingnya, dan mencetak luas
lingkaranke piranti keluaran <- ini spesifikasi algoritma}
DEKLARASI :
const phi = 3.14 {nilai ? }
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
DESKRIPSI :
read (R)
Luas <- phi * R *R
Keliling <- 2 * phi * R