Algoritma Dan Pemrograman

advertisement
Algoritma Dan Pemrograman
Pengampu : Muhammad Zidny Naf’an, Lc., S.Kom., M.Kom
Algoritma Dan Pemrograman
 Algoritma adalah jantung ilmu komputer dan informatika.
 Banyak cabang dari ilmu komputer yang diacu dalam
terminology algoritma.
 Algoritma berasal dari kata algorism yang berarti proses
menghitung.
 Kata algorism berasal dari nama penulis buku arab
yang terkenal yaitu Abu Ja’far Muhammad
Ibnu Musa al-Khuwarizmi
2
Definisi Algoritma
 Urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis
 Urutan logis pengambilan keputusan untuk
pemecahan masalah
3
Ciri Penting Algoritma (1)
 Memiliki Input
Algoritma dapat memiliki nol atau lebih inputan dari luar.
 Memiliki Output
Algoritma harus memiliki minimal satu buah output keluaran.
 Definiteness (pasti)
Algoritma memiliki instruksi-instruksi yang jelas dan tidak
ambigu atau memilikuiarti ganda.
4
Ciri Penting Algoritma (2)
 Finiteness (ada batas atau berakhir)
Algoritma harus memiliki titik berhenti (stopping role).
 Effectiveness(efektif dan efisien)
Algoritma sebisa mungkin harus dapat dilaksanakan dan
efektif. Contoh instruksi yang tidak efektif adalah : A = A + 0
atau A = A * 1.
5
Algoritma Terbaik
Algoritma dikatakan terbaik atau The Best jika Suatu
algoritma menghasilkan output yang tepat guna
(efektif) dalam waktu yang relative singkat dan
penggunaan memori yang relatif sedikit (efisien)
dengan langkah berhingga dan prosedurnya berakhir
baik dalam keadaan diperoleh solusi ataupun tidak
ada solusi.
6
Belajar Memprogram dan
Belajar Bahasa Pemrograman
 Belajar Memprogram :
Pemahaman persoalan, analisis, dan sintesis
Pemecahan Masalah
-Strategi
-Metodologi
-Sistematika
Notasi yang telah
disepakati
 Belajar Bahasa Pemrograman :
• Belajar memakai suatu bahasa
• Aturan sintaks (tata bahasa)
7
Program adalah….
Program :
Perwujudan atau implementasi algoritma yang
ditulis dalam bahasa pemrograman tertentu
8
Pengertian Program dan Bahasa Pemrograman
 Kumpulan instruksi yang digunakan untuk mengatur komputer
agar melakukan suatu tindakan tertentu dinamakan program.
 Instruksi yang digunakan dalam menulis program disebut
bahasa pemrograman.
 Orang yang membuat program komputer dinamakan
pemrogram atau programmer.
9
 Dan kegiatan merancang dan menulis program komputer
disebut pemrograman atau programming.
 Suatu program ditulis dengan mengikuti kaidah bahasa
pemrograman tertentu (Pascal, Turbo C, Basic, Borland C++,
Java, dll).
 Salah satu dari sekian banyak bahasa pemrograman, dalam
matakuliah ini akan memakai bahasa pemrograman C++.
10
Perkembangan Bahasa
Pemrograman
• Bahasa Mesin. Bahasa yang berisi kode-kode mesin yang
hanya dapat diinterpretasikan langsung oleh mesin
komputer
Keuntungan: Eksekusi cepat
Kerugian: Sangat sulit dipelajari manusia
• Bahasa Assembly. Bahasa simbol dari bahasa mesin
Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada
bahasa mesin, file kecil
Kekurangan: Tetap sulit dipelajari, program sangat panjang.
11
Perkembangan Bahasa
Pemrograman
• Bahasa Tingkat Tinggi (3rd GL) Bahasa pemrograman yang lebih
tinggi dari bahasa assembly
Keuntungan:
• Mudah dipelajari
• Mendekati permasalahan yang akan dipecahkan
• Kode program pendek
Kerugian: Eksekusi lambat Contoh: C, C++, Pascal, Basic, dan java
• Bahasa yang berorientasi pada masalah spesifik
(4th GL) Digunakan langsung untuk memecahkan masalah tertentu
Contoh: SQL untuk database
12
Translator
• Assembler. Source code: bahasa assembly,
Object code: bahasa mesin
• Interpreter. Source code: bahasa scripting
seperti php, ASP, javascript, Perl. Tidak
menghasilkan object code hanya translasi internal
• Kompiler. Source code: bahasa program spt C,
C++, pascal Object code: bahasa assembly
13
Tahap Penyelesaian Masalah
14
Proses Translasi-Kompilasi-Intrepretasi
Algoritma
Translasi
Program dalam
Bahasa Tingkat Tinggi
Kompilasi
Program dalam
Bahasa Mesin
Interpretasi oleh CPU
Operasi
(Baca, tulis, hitung,
perbandingan, dll)
15
Paradigma Pemrograman (1)
 Prosedural (imperatif)
 Program = Struktur + Data
Misalnya : Pascal, C, Basic
 Object Oriented
 data dan instruksi dibungkus menjadi satu, disebut: kelas,
kelas pada saat run-time disebut objek.
Misalnya : C++, Java
16
Paradigma Pemrograman (2)
 Fungsional
 konsep pemetaan dan fungsi pada matematika
Misalnya : Matlab
 Deklaratif
 pendefinisian relasi antar individu yang dinyatakan sebagai
predikat
Misalnya : Prolog
17
Jenis Proses Algoritma
 Sequence Process
 merupakan instruksi yang dikerjakan secara sekuensial
atau berurutan.
 Selection Process
 merupakan instruksi yang dikerjakan jika memenuhi
kriteria tertentu.
18
Jenis Proses Algoritma
 Iteration Process
 merupakan instruksi dikerjakan yang selama memenuhi
suatu kondisi tertentu.
 Concurrent Process
 merupakan beberapa instruksi yang dikerjakan secara
bersama.
19
Algoritma Pengerjaan didalam Resep
Makanan
1. Tuangkan satu gelas santan ke dalam wajan.
2. Masukkan bumbu-bumbu yang sudah dihaluskan.
3. Aduk hingga merata.
4. Tambahkan garam, merica dan kecap asin.
5. Masak dengan api sedang, sambil diaduk-aduk.
Algoritma Dalam Mengerjakan Praktikum
Kimia
1. Siapkan tabung reaksi ukuran 100cc.
2. Teteskan 50 cc larutan H2SO4 ke dalam tabung.
3. Campurkan 20 cc larutan NaOH kedalamnya, aduk hingga
tercampur merata.
Algoritma Mengirim Surat Kepada Teman
1.
2.
3.
4.
5.
Tulis surat pada secarik kertas surat.
Ambil sampul surat.
Masukkan surat ke dalam sampul.
Tutup sampul surat menggunakan perekat.
Jika kita ingat alamat teman tersebut, maka tulis alamat
pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat
pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
Algoritma Mencari Kuadrat Suatu
Bilangan
1. Masukkan bilangan A yang akan dkuadratkan
2. Kalikan A dengan A
3. Selesai
Latihan Soal
• Tiga pasang suami istri sedang menempuh perjalanan sampai
ke sebuah sungai. Disitu mereka menemukan sebuah perahu
kecil yang hanya bisa membawa tidak lebih dari 2 orang.
Penyebrangan air sungai itu dirumitkan oleh kenyataan para
suami tersebut pencemburu. Tuliskan algoritmanya agar
ketiga pasang suami istri tersebut dapat menyeberangi sesuai
dengan ketentuan di atas!
Latihan Soal
Tiga buah cakram yang masing-masing berdiameter berbeda mempunyai
lubang dititik pusatnya.Ketiga cakram tersebut dimasukan pada sebuah
batang besi A sedemikian sehingga cakram yang berdiameter lebih besar
selalu terletak dibawah cakram yang berdiameter lebih kecil.
Tulislah Algoritma untuk memindahkan seluruh cakram tersebut ke batang
besi B; setiap kali hanya satu cakram yang boleh dipindahkan, tetapi pada
setiap perpindahan tidak boleh ada cakram yang ebih besar berada diatas
cakram kecil.Batang besi C dapat dipakai sebagai tempat peralihan dengan
tetap memegang aturan yang telah disebutkan.
25
Latihan Soal
Ada sebuah algoritma program pemutar kaset
tape recorder:
1. Pastikan tape power ON
2. Tekan tombol play
3. 3.masukkan kaset dalam tape recorder
Dimanakah letak kesalahan logika algoritma
tersebut?
26
Latihan Soal
Seorang salesman (petugas pemasaran) suatu perusahaan minuman harus
mengunjungi 5 warung untuk memperkenalkan produk minuman terbaru.
Kelima warung tersebut adalah: P, Q, R, S, dan T. Dia hanya akan mengunjungi
masing-masing satu kali saja, satu warung per hari, Senin s/d Jumat, dengan
aturan berikut:
• Tidak boleh mengunjungi warung R pada hari Senin.
• Harus mengunjungi warung P sebelum mengunjungi S.
• Harus mengunjungi warung Q sebelum mengunjungi T.
Mana jadwal yang memenuhi syarat?
A. Q, S, P, T, R
B. R, Q, T, P, S
C. R, S, P, Q, T
D. T, R, Q, P, S
E. P, S, R, Q, T
Jika ia mengunjungi R lebih dahulu
daripada P, mana yang pasti benar?
A. Q dikunjungi pertama kali
B. R dikunjungi pada hari Selasa
C. P dikunjungi pada hari Rabu
D. T dikunjungi pada hari Kamis
E. S dikunjungi terakhir kali
27
Tiga orang dewasa Roni(pria), Susi(wanita), dan Vina(wanita) bersama dengan
lima anak-anak Fredi(pria), Heru(pria), Jono(pria), Lisa(wanita) dan
Marta(wanita) akan pergi berdarmawisata ke Kebun Binatang dengan
menggunakan sebuah kendaraan minibus. Minibus tersebut memiliki satu
tempat di sebelah pengemudi, dan dua buah bangku panjang di belakang
yang masing-masing terdiri dari 3 tempat duduk, sehingga total terdapat
delapan tempat duduk di dalam minibus tersebut, termasuk pengemudi.
Setiap peserta wisata harus duduk sendiri, masing-masing di sebuah kursi
yang ada dan susunan tempat duduk harus disesuaikan dengan beberapa
ketentuan sebagai berikut:
• Pada masing-masing bangku harus terdapat satu orang dewasa yang
duduk
• Salah satu di antara Roni dan Susi harus duduk sebagai pengemudi
• Jono harus duduk bersebelahan dengan Marta
Pertanyaan:
Jika Fredi duduk bersebelahan dengan Vina, siapakah penumpang pria yang
duduk di paling depan? Jawab: .......
28
Tugas
Buatlah algoritma untuk menghitung luas dan
keliling lingkaran. Dengan masukan jari-jari
lingkaran.
Menghitung Luas Lingkaran
1.
2.
3.
4.
5.
6.
Start
Menetapkan nilai Phi yaitu 3.14
Masukan jari-jari lingkaran
Menghitung luas lingkaran dengan rumus L=phi x r x r
Mencetak nilai Luas
Finish
Menghitung Keliling Lingkaran
1.
2.
3.
4.
5.
6.
Start
Menetapkan nilai Phi yaitu 3.14
Masukan jari-jari lingkaran
Menghitung keliling lingkaran dengan rumus K=2 x phi x r
Mencetak nilai Keliling
Finish
Terimakasih
32
Download