Download - Micro teaching konsep logika algoritma
![Page 1: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/1.jpg)
KonsepLogika Dan Algoritma
![Page 2: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/2.jpg)
Tujuan Pembelajaran :
Mahasiswa mampu untuk menganalisa konsep dasar logika algoritma
Mahasiswa mampu berpikir secara logis dalam menghadapi suatu permasalahan
Mahasiswa mampu membuat langkah-langkah (algoritma) yang efektif dan efisien atas suatu masalah
![Page 3: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/3.jpg)
Bahan Acuan :
1. Zakaria. Teddy Marcus & Agus Prijono, “Konsep dan Implementasi Struktur Data”, Informatika. Bandung, 2005
2. Kristanto, Andri.Algoritma & Pemprograman Dengan C++ Edisi 2. Graha Ilmu. Yogyakarta,2009
3. Sjukani, Algoritma & Struktur Data dengan C, C++, dan Java, 2005, Mitra Wacana Media, Jakx Munir, Rinaldi, 2002, Logika dan Algoritma Buku I, Edisi keempat, Informatika, Bandung
4. Munir, Rinaldi, 2005, Logika dan Algoritma Buku II, Edisi ketiga, Informatika, Bandung
5. Yulikuspartono, S.Kom,2003, Pengantar Logika dan Algoritma, Andi Offset, Yogyakarta
6. Kurniadi,Indarwoko.2011.Logika dan Algoritma Dasar Menggunakan Bahasa C++.Mitra Wacana Media.,Jakarta
7. Insap Santosa, P., Ir., Struktur Data menggunakan Turbo Pascal 6.0. Andi Offset. Yogyakarta.2006)pert 10
8. B,indra Yatini,Erliansyah Nasution. Algoritma & Struktur Data Dengan C++. Graha Ilmu. Yogyakarta. 2005
![Page 4: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/4.jpg)
Kegiatan Pendahuluan :- Dosen bercerita tentan masalah masalah yang
riil dan logika penyelesaian masalahnya- Dosen memberi contoh langkah langkah yang
efisien dalam menyelesaikan masalah
Kegiatan Inti :- Dosen melakukan pengajaran dengan diselingi
contoh nyata dalam kegiatan sehari hari agar pemahaman mahasiswa akan materi cepat tersampaikan
Kegiatan Penutup- Dosen memberikan tugas dan latihan
penyelesaian soal soal
![Page 5: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/5.jpg)
PENGERTIAN DASAR LOGIKA DAN ALGORITMA
LOGIKADiperkenalkan pertama kali oleh Aristoteles (384-322 SM)Definisi Logika• Penalaran atau bentuk pemikiran.• Ilmu yang memberikan prinsip-prinsip yang harus diikuti
agar dapat berfikir valid menurut aturan yang berlaku.
ALGORITMADiperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Seorang ilmuan Persia yang menulis kitab al jabr w’al muqabala (rules of restoration and reduction) sekitar tahun 825 MDefinisi Algoritma• Langkah – langkah yang dilakukan agar solusi masalah
dapat diperoleh.• Suatu prosedur yang merupakan urutan langkah-langkah yg
berintegrasi.• Suatu m etode khusus yang digunakan untuk menyelesaikan
suatu masalah yang nyata.(Webster Dictionary)
![Page 6: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/6.jpg)
Algoritma dapat berupa langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis disini berarti benar sesuai dengan logika manusia atau sesuai dengan daya nalar.
Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan masalah harus memberikan hasil yang benar. Urutan langkah langkah tersebut harus diikuti dan dijalankan sesuai urutannya.
Algoritma muncul apabila ada persoalan yang secara logis dapat diatasi.
Hubungan Logika dan Algoritma
![Page 7: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/7.jpg)
TAHAP PENYELESAIAN MASALAHDalam dunia nyata, masalah selalu ada dan masalah selalu ada jalan keluarnya.Timbulnya Permasalahan akan memunculkan pemikiran apakah masalah tersebut dapat diatasi sesuai dengan pemikiran wajar atau daya nalar. Pemikiran logis untuk mengatasi masalah menimbulkan pemikiran untuk menciptakan bagaimana model terbaik untuk penyelesaian masalah.
Apabila model penyelesaian masalah sudah terkonsep, pemikiran berikutnya adalah membuat langkah langkah dalam menyelesaikan masalah tersebut. Langkah langkah tersebut haruslah teratur dan menyakinkan bahwa masalah akan terselesaikan. Langkah langkah inilah yang kita sebut dengan Algoritma….
![Page 8: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/8.jpg)
TAHAP PENYELESAIAN MASALAH
![Page 9: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/9.jpg)
• Masalah : motivasi untuk membuat algoritma.
• Algoritma : prosedur untuk menyelesaikan masalah. Seringkali satu masalah dapat diselesaikan dengan lebih dari satu cara (banyak kemungkinan).
• Program: representasi formal dari suatu algoritma dengan menggunakan bahasa pemrograman yang bisa dimengerti oleh komputer.
• Proses : aktivitas menjalankan langkah-langkah dalam algoritma.
Domain Algoritma
![Page 10: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/10.jpg)
Kriteria Pemilihan Algoritma.1. Ada Output2. Efektifitas dan Efesiensi3. Jumlah Langkahnya Berhingga4. Berakhir ( SEMI ALGORITMA )5. Terstruktur
Suatu Algoritma yg terbaik (The Best) : “ Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi ataupun tidak ada solusinya. “
![Page 11: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/11.jpg)
Kriteria Pemilihan Algoritma1.Ada output: mengacu pada definisi algoritma,
suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
2.Efektifitas dan Efisiensi :Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
3.Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
![Page 12: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/12.jpg)
4. Berakhir (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.
5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.
![Page 13: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/13.jpg)
Contoh :Sebuah prosedur ketika akan mengirim kan surat kepada teman:1. Tulis surat pada secarik kertas surat2. Ambil sampul surat atau amplop3. Masukkan surat ke dalam amplop4. Tutup amplop surat dengan lem perekat5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu
ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
6. Tempelkan perangko pada amplop surat7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos
atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.
Apakah langkah langkah mengirim surat diatas sudah efektif dan efisien ?Bagaimana hasilnya kalau langkah langkah diatas dilaksanakan tidak sesuai urutan ?
![Page 14: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/14.jpg)
Tahapan Analisa Algoritma1. Bagaimana merencakan suatu algoritma:
Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.
2. Bagaimana menyatakan suatu algoritmaMenentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dapat dilakukan dengan cara:
![Page 15: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/15.jpg)
b. Dengan Flowcharta. Dengan Bahasa semu (Pseudocode): Yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur.
Contoh : Menghitung Luas Segitiga1. Masukkan nilai
alas2. Masukkan nilai
tinggi3. Hitung Luas =
(alas*tinggi)/24. Cetak Luas
c. Dengan Statemen bahasa program.Contoh (dalam bahasa C++).
cin >>alascin >>tinggi
Luas=(alas*tinggi)/2
Cout <<Luas;
![Page 16: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/16.jpg)
3. Bagaimana validitas suatu algoritmaYakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat masalah baru.
4. Bagaimana menganalisa suatu algoritmaCaranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.5. Bagaimana menguji program dari suatu
algoritmaYaitu dengan cara menyajikannya dalam salah satu bahasa pemrograman, misalnya c++, java, dBase atau yang lainnya. Dalam prosesnya, uji program oleh komputer akan melalui beberapa tahap yaitu:
Tahapan Analisa Algoritma
![Page 17: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/17.jpg)
• Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disini adalah error atau salah dalam penulisan program baik logika maupun sintaksnya. Apabila ditemukan kesalahan maka informasi error atau kesalahan akan ditampilkan
• Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.Analisis Suatu Algoritma
Tujuannya adalah untuk melihat faktor efesiensi & efektifitas dari algoritma. Hal ini dapat dilakukan terhadap suatu algoritma dengan melihat pada waktu tempuh dan jumlah memori yang digunakan
![Page 18: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/18.jpg)
A. Waktu tempu (Running Time) dari suatu algoritma : adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah. Hal-hal yang dapat mempengaruhi waktu tempuh adalah:1. Banyaknya langkah: Makin banyak langkah atau instruksi
yang digunakan dalam menyelesaikan masalah, maka makin lama waktu tempuh yang dibutuhkan dalam proses tersebut
2. Besar dan jenis input data: Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)
3. Jenis operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan atau pengurangan.
4. Komputer dan kompilator: faktor ini diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Faktor ini berhubungan dengan kemampuan komputer yang tentunya harus sesuai dengan jumlah…
![Page 19: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/19.jpg)
….program atau langkah yang diperlukan oleh algoritma, begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnyaB. Jumlah Memori Yang digunakan :
Banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalam hal ini, diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan demikian dapat disiapkan storage yang memadai agar proses suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.
![Page 20: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/20.jpg)
Contoh Konsep Logika dan Algoritma
Ada 2 buah gelas. Gelas A berisi Teh dan gelas B berisi kopi. Pertanyaannya bagaimana caranya menukar isi masing-masing gelas tersebut sehingga terjadi pertukaran isi, gelas the berisi kopi dan gelas kopi berisi teh ?
teh kopi
Permasalahan :
![Page 21: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/21.jpg)
Penyelesaian :
Langkah-langkahnya (Algoritma yang masuk akal) adalah : Siapkan gelas kosong sebagai
cadangan : X
Tuangkan gelas yang berisi teh ke gelas cadangan
Tuangkan gelas yang berisi kopi ke gelas yang awalnya dipakai teh
Tuangkan isi gelas cadangan ke gelas yang awalnya berisi kopi
teh
kopi teh
X
X
kopi X
![Page 22: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/22.jpg)
Algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.
Algoritmanya :1. Masukkan bilangan yang akan ditentukan2. Bagi bilangan dengan bilangan 23. Hitung sisa hasil bagi pada langkah b.4. Bila sisa hasil bagi sama dengan 0 maka
bilangan itu adalah bilangan genap, tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
Contoh Konsep Logika dan Algoritma
![Page 23: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/23.jpg)
Latihan Soal :Permasalahan :Seorang Petani akan berpergian ke kota dengan membawa seekor kambing, Anjing dan Rumput Yang ketiganya memliki berat yang tidak jauh berbeda, ditengah jalan petani harus menyebrangi sungai dengan menggunakan perahu dan untuk melaluinya petani tersebut tidak diperbolehkan membawa sekaligus bawaannya mengingat kapasitas kekuatan perahu tersebut, dan untuk melaluinya petani harus membawa satu persatu bawaannya.Pertanyaannya :Buatlah algoritma agar permasalahan petani tersebut dapat diatasi dengan efektif dan efisien. Berapa kali petani tersebut harus melalui jembatan dengan kenyataan bahwa kambing makan rumput, anjing makan kambing ?
![Page 24: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/24.jpg)
Penyelesaian :1. Pertama pindahkan domba ke pulau seberang,
taroh domba tsb.2. kemudian balik lagi ke pulau sebelumnya,3. bawa anjing dan sebrangkan ke pulau tempat
domba berada, taroh anjing tsb lalu4. bawa domba itu balik ke pulau sebelumnya.lalu
pindah dan gantikan domba dengan rumput, setelah itu
5. seberang kan rumput ke pulau sebelah nya, taroh rumput tsb.
6. balik lagi ke tempat domba,7. dan bawa domba itu ke pulau seberang.selesai
deh
Kesimpulan : Petani tersebut harus melalui jembatan sebanyak 7 kali agar ketiga barangnya dapat terangkut
![Page 25: Micro teaching konsep logika algoritma](https://reader035.vdocuments.site/reader035/viewer/2022081417/58ebf4b61a28ab315a8b45d9/html5/thumbnails/25.jpg)
Latihan Soal :
Buatlah suatu algoritma untuk proses menghitung luas persegi panjang, dengan menggunakan bahasa semu, flowchart dan bahasa pemrograman (c++)