Algoritma untuk menukar isi dua gelas yang berisi minuman berbeda dengan menggunakan gelas kosong sebagai tempat menukar isinya, sehingga pada akhirnya masing-masing gelas berisi minuman yang sebelumnya ada pada gelas lain. Algoritma terdiri dari 4 langkah untuk menukar isi gelas secara logis dan efektif.
Pengenalan Algoritma
Mengetahui Pengantar dan Sejarah
Mengetahui Algoritma dan Data
Memahami Bahasa Pemrograman dan Paradigma
Memahami Metode dan Correctness Algoritma
Mengetahui Efisiensi dari Algoritma
Memahami Ketidakefisienan dan Intractability
Memahami Noncomputability dan Undecidability
Mengetahui Algoritma yang Universal dan Kekuatannya
Memahami Parallelism
Pengenalan Algoritma
Mengetahui Pengantar dan Sejarah
Mengetahui Algoritma dan Data
Memahami Bahasa Pemrograman dan Paradigma
Memahami Metode dan Correctness Algoritma
Mengetahui Efisiensi dari Algoritma
Memahami Ketidakefisienan dan Intractability
Memahami Noncomputability dan Undecidability
Mengetahui Algoritma yang Universal dan Kekuatannya
Memahami Parallelism
Implementasi Konsep Algoritma Bagan Alir dengan GitMind.pptxPANGGAHBARRAKAALAHU
Algoritma menjadi salah satu tahapan atau metode dalam computational thinking yang perlu dipelajari dengan baik untuk menyelesaikan masalah dengan efektif dan efisien.
Algoritma sendiri menjadi tahap terakhir dalam computational thinking setelah dekomposisi, pengenalan pola dan abstraksi. Dalam komputer, penyusunan algoritma efektif untuk mempercepat sebuah aplikasi bekerja.
Modul teknik pemrograman mikrokontroler dan mikroprosesorBeny Abd
Modul 1 teknik pemrograman mikrokontroler dan mikroprosesor membahas mengenai pemecahan masalah bersifat sistematis menggunakan algoritma dan diagram alir
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
Komunikasi Digital dan Simulasi digital, Pelajaran tentang komunikasi yang diterapkan pada alat mesin digital , guna mencari kebenaran dalam berkomunikasi.
2. 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
3. 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
4. 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
5. PENGERTIAN DASAR LOGIKA DAN ALGORITMA
LOGIKA
Diperkenalkan 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.
ALGORITMA
Diperkenalkan 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 M
Definisi 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)
6. 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
7. TAHAP PENYELESAIAN MASALAH
Dalam 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….
9. • 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
10. Kriteria Pemilihan Algoritma.
1. Ada Output
2. Efektifitas dan Efesiensi
3. Jumlah Langkahnya Berhingga
4. 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. “
11. Kriteria Pemilihan Algoritma
1. 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.
12. 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.
13. Contoh :
Sebuah prosedur ketika akan mengirim kan surat
kepada teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. 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 surat
7. 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 ?
14. Tahapan Analisa Algoritma
1. 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 algoritma
Menentukan 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:
15. b. Dengan Flowcharta. Dengan Bahasa
semu (Pseudocode):
Yaitu dengan
menggunakan bahasa
sehari-hari, tetapi harus
jelas dan terstruktur.
Contoh : Menghitung
Luas Segitiga
1. Masukkan nilai alas
2. Masukkan nilai tinggi
3. Hitung Luas =
(alas*tinggi)/2
4. Cetak Luas
c. Dengan
Statemen bahasa
program.
Contoh (dalam bahasa
C++).
cin >>alas
cin >>tinggi
Luas=(alas*tinggi)/2
Cout <<Luas;
16. 3. Bagaimana validitas suatu algoritma
Yakni jika penyelesaian memenuhi solusi yang sebenarnya,
artinya solusi yang didapat merupakan penyelesaian suatu
masalah dan bukannya membuat masalah baru.
4. Bagaimana menganalisa suatu algoritma
Caranya 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 algoritma
Yaitu 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
17. • 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
18. 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…
19. ….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 seterusnya
B. 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.
20. 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 :
21. 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
22. Algoritma untuk menentukan apakah suatu bilangan
merupakan bilangan ganjil atau bilangan genap.
Algoritmanya :
1. Masukkan bilangan yang akan ditentukan
2. Bagi bilangan dengan bilangan 2
3. 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
23. 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 ?
24. 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 lalu
4. 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
25. Latihan Soal :
Buatlah suatu algoritma untuk proses menghitung
luas persegi panjang, dengan menggunakan bahasa
semu, flowchart dan bahasa pemrograman (c++)