![Page 1: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/1.jpg)
Algoritma Dan Pemrograman
Pengampu : Muhammad Zidny Naf’an, Lc., S.Kom., M.Kom
![Page 2: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/2.jpg)
Algoritma Dan Pemrograman
Algoritma adalah jantung ilmu komputer dan informatika.
Banyak cabang dari ilmu komputer yang diacu dalamterminology 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
![Page 3: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/3.jpg)
Definisi Algoritma
Urutan langkah-langkah logis penyelesaian Urutan langkah-langkah logis penyelesaianmasalah yang disusun secara sistematis
Urutan logis pengambilan keputusan untukpemecahan masalah
3
![Page 4: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/4.jpg)
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 tidakambigu atau memilikuiarti ganda.
4
![Page 5: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/5.jpg)
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 danefektif. Contoh instruksi yang tidak efektif adalah : A = A + 0 atau A = A * 1.
5
![Page 6: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/6.jpg)
Algoritma Terbaik
Algoritma dikatakan terbaik atau The Best jika Suatualgoritma menghasilkan output yang tepat guna(efektif) dalam waktu yang relative singkat danpenggunaan memori yang relatif sedikit (efisien)dengan langkah berhingga dan prosedurnya berakhirbaik dalam keadaan diperoleh solusi ataupun tidakada solusi.
6
![Page 7: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/7.jpg)
Belajar Memprogram danBelajar Bahasa Pemrograman
Belajar Memprogram :
Pemahaman persoalan, analisis, dan sintesis
Belajar Bahasa Pemrograman :
• Belajar memakai suatu bahasa
• Aturan sintaks (tata bahasa)
7
Pemecahan Masalah
-Strategi-Metodologi-Sistematika
Notasi yang telah disepakati
![Page 8: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/8.jpg)
Program adalah….
Program :
Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu
8
![Page 9: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/9.jpg)
Pengertian Program dan Bahasa Pemrograman
Kumpulan instruksi yang digunakan untuk mengatur komputeragar melakukan suatu tindakan tertentu dinamakan program.
Instruksi yang digunakan dalam menulis program disebutbahasa pemrograman.
Orang yang membuat program komputer dinamakanpemrogram atau programmer.
9
![Page 10: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/10.jpg)
Dan kegiatan merancang dan menulis program komputerdisebut pemrograman atau programming.
Suatu program ditulis dengan mengikuti kaidah bahasapemrograman tertentu (Pascal, Turbo C, Basic, Borland C++, Java, dll).
Salah satu dari sekian banyak bahasa pemrograman, dalammatakuliah ini akan memakai bahasa pemrograman C++.
10
![Page 11: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/11.jpg)
Perkembangan BahasaPemrograman
• Bahasa Mesin. Bahasa yang berisi kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesinkomputer Keuntungan: Eksekusi cepat Kerugian: Sangat sulit dipelajari manusia
• Bahasa Assembly. Bahasa simbol dari bahasa mesin Kelebihan: Eksekusi cepat, masih bisa dipelajari daripadabahasa mesin, file kecil Kekurangan: Tetap sulit dipelajari, program sangat panjang.
11
![Page 12: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/12.jpg)
Perkembangan BahasaPemrograman
• Bahasa Tingkat Tinggi (3rd GL) Bahasa pemrograman yang lebihtinggi 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
![Page 13: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/13.jpg)
Translator
• Assembler. Source code: bahasa assembly, Object code: bahasa mesin
• Interpreter. Source code: bahasa scripting seperti php, ASP, javascript, Perl. Tidakmenghasilkan object code hanya translasi internal
• Kompiler. Source code: bahasa program spt C, C++, pascal Object code: bahasa assembly
13
![Page 14: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/14.jpg)
Tahap Penyelesaian Masalah
14
![Page 15: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/15.jpg)
Proses Translasi-Kompilasi-Intrepretasi
15
Algoritma
Program dalamBahasa Tingkat Tinggi
Program dalamBahasa Mesin
Operasi(Baca, tulis, hitung, perbandingan, dll)
Translasi
Interpretasi oleh CPU
Kompilasi
![Page 16: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/16.jpg)
Paradigma Pemrograman (1)
Prosedural (imperatif) Program = Struktur + DataMisalnya : Pascal, C, Basic
Object Oriented data dan instruksi dibungkus menjadi satu, disebut: kelas, kelas pada saat run-time disebut objek. Misalnya : C++, Java
16
![Page 17: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/17.jpg)
Paradigma Pemrograman (2)
Fungsional konsep pemetaan dan fungsi pada matematikaMisalnya : Matlab
Deklaratif pendefinisian relasi antar individu yang dinyatakan sebagaipredikatMisalnya : Prolog
17
![Page 18: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/18.jpg)
Jenis Proses Algoritma
Sequence Process
merupakan instruksi yang dikerjakan secara sekuensialatau berurutan.
Selection Process
merupakan instruksi yang dikerjakan jika memenuhikriteria tertentu.
18
![Page 19: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/19.jpg)
Jenis Proses Algoritma
Iteration Process
merupakan instruksi dikerjakan yang selama memenuhisuatu kondisi tertentu.
Concurrent Process
merupakan beberapa instruksi yang dikerjakan secarabersama.
19
![Page 20: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/20.jpg)
Algoritma Pengerjaan didalam ResepMakanan
Algoritma Pengerjaan didalam ResepMakanan
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.
![Page 21: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/21.jpg)
Algoritma Dalam Mengerjakan PraktikumKimia
1. Siapkan tabung reaksi ukuran 100cc.
2. Teteskan 50 cc larutan H2SO4 ke dalam tabung.
3. Campurkan 20 cc larutan NaOH kedalamnya, aduk hinggatercampur merata.
![Page 22: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/22.jpg)
Algoritma Mengirim Surat Kepada Teman
1. Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka tulis alamatpada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamatpada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
![Page 23: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/23.jpg)
Algoritma Mencari Kuadrat SuatuBilangan
1. Masukkan bilangan A yang akan dkuadratkan
2. Kalikan A dengan A
3. Selesai
![Page 24: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/24.jpg)
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 sesuaidengan ketentuan di atas!
![Page 25: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/25.jpg)
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
![Page 26: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/26.jpg)
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
![Page 27: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/27.jpg)
Latihan Soal
Seorang salesman (petugas pemasaran) suatu perusahaan minuman harusmengunjungi 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, RB. R, Q, T, P, SC. R, S, P, Q, TD. T, R, Q, P, SE. P, S, R, Q, T
27
Jika ia mengunjungi R lebih dahulu daripada P, mana yang pasti benar?A. Q dikunjungi pertama kaliB. R dikunjungi pada hari SelasaC. P dikunjungi pada hari RabuD. T dikunjungi pada hari KamisE. S dikunjungi terakhir kali
![Page 28: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/28.jpg)
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 yangduduk
• 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
![Page 29: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/29.jpg)
Tugas
Buatlah algoritma untuk menghitung luas dankeliling lingkaran. Dengan masukan jari-jarilingkaran.
![Page 30: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/30.jpg)
Menghitung Luas Lingkaran
1. Start
2. Menetapkan nilai Phi yaitu 3.14
3. Masukan jari-jari lingkaran
4. Menghitung luas lingkaran dengan rumus L=phi x r x r
5. Mencetak nilai Luas
6. Finish
![Page 31: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/31.jpg)
Menghitung Keliling Lingkaran
1. Start
2. Menetapkan nilai Phi yaitu 3.14
3. Masukan jari-jari lingkaran
4. Menghitung keliling lingkaran dengan rumus K=2 x phi x r
5. Mencetak nilai Keliling
6. Finish
![Page 32: AlgoritmaDan Pemrogramanzidny.dosen.st3telkom.ac.id/wp-content/uploads/sites/29/2016/09/... · Misalnya: Matlab Deklaratif pendefinisianrelasiantarindividuyang dinyatakansebagai predikat](https://reader034.vdokumen.com/reader034/viewer/2022051523/5a7d38377f8b9a563b8d8595/html5/thumbnails/32.jpg)
Terimakasih
32