& 
Analisis algoritma
Apakah itu Algoritma?? 
Algoritma merupakan langkah-langkah 
(prosedur) yang harus 
dilakukan untuk menyelesaikan 
sebuah masalah.
Algoritma harus memiliki.... 
Masalah, yaitu sebuah persoalan yang ingin 
diselesaikan oleh sebuah algoritma. 
Masukan, yaitu contoh data atau keadaan yang 
menjadi permasalahan. 
Keluaran, yaitu bentuk akhir dari data atau keadaan 
setelah algoritma diimplementasikan ke masukan. 
Keluaran merupakan hasil ideal yang diinginkan dan 
dianggap telah menyelesaikan masalah.
Contoh Solusi Algoritma
Bagaimana algoritma yang baik?? 
Benar 
di mana algoritma menyelesaikan masalah dengan 
tepat, sesuai dengan definisi masukan / keluaran 
algoritma yang diberikan. 
Efisien 
menyelesaikan masalah tanpa memberatkan bagian lain dari 
apliikasi. Sebuah algoritma yang tidak efisien akan menggunakan 
sumber daya (memori, CPU) yang besar dan memberatkan aplikasi 
yang mengimplementasikan algoritma tersebut. 
Mudah 
artinya sebuah algoritma yang baik harus dapat dimengerti dengan 
mudah sehingga implementasi algoritma dapat dilakukan siapapun 
dengan pendidikan yang tepat, dalam waktu yang masuk akal
Pembuktian Kebenaran Algoritma 
Sebuah algoritma dikatakan telah benar jika 
algoritma tersebut dapat memberikan 
keluaran yang benar jika menerima masukan 
sesuai dengan definisi algoritma tersebut, dan 
algoritma tersebut terbukti akan selalu dapat 
diterminasi (berakhir).
Bagaimana pembuktian kebenaran 
algoritma?? 
Induksi 
Matematika 
Pembuktian 
Kontradiktif 
Pembuktian 
Kontrapositif 
Metode 
Formal 
Tapi dalam pembuktian kebenaran algoritma ini, kita hanya menggunakan 
INDUKSI MATEMATIKA
Induksi 
Matematika 
Induksi matematika merupakan alat pembuktian 
matematis yang digunakan untuk membuktikan 
pernyataan atau proses yang melibatkan 
perhitungan bilangan asli yang berulang 
Pembuktian kebenaran algoritma dengan 
Induksi Matematika dapat dilakukan dengan 2 
cara, yaitu: 
Melakukan pembuktian kasus dasar (base case), yaitu membuktikan 
bahwa sebuah pernyataan (fungsi) matematika atau algoritma 
bernilai benar jika diaplikasikan pada bilangan pertama yang sah 
sesuai dengan spesifikasi fungsi atau algoritma tersebut. 
1 
2 fungsi jika kebenaran fungsi diketahui. 
Melakukan induksi, yaitu membuktikan bahwa kebenaran dari
Dengan membuktikan kedua hal tersebut, kita dapat 
mengambil kesimpulan bahwa sebuah fungsi matematika 
atau algoritma bernilai benar untuk semua bilangan asli. 
Jika diimplementasikan dengan tepat, induksi matematika 
dapat juga digunakan untuk membuktikan kebenaran 
algoritma rekursif seperti penelusuran pohon (tree).
Contoh 1. Deret Aritmatika 
karena hasil akhir dari ruas 
kanan dan ruas kiri adalah 
sama (1 ), maka dapat 
dikatakan bahwa kasus 
dasar telah terbukti.
dan seperti yang dapat dilihat, ruas kiri dari p(k + 1) telah menjadi sama 
dengan ruas kanannya, sehingga dapat dikatakan bahwa tahap induksi 
telah berhasil dibuktikan benar. 
Dengan pembuktian kasus dasar dan induksi yang bernilai 
benar, kita dapat menyimpulkan bahwa P(n) bernilai benar 
untuk n ≥ 1.
Contoh 2. Pembuktian Hipotesa
Desain dan analisis algoritma
Desain dan analisis algoritma
dan secara otomatis tentunya pernyataan matematis 
tersebut dapat kita buktikan dengan menggunakan induksi 
matematika. Pembuktian perulangan yang lebih kompleks 
sendiri dapat dilakukan dengan teknik yang dikenal 
dengan nama loop invariant, yang tidak akan dijelaskan 
pada pembahasan ini.
Pemodelan Masalah
Jenis-jenis Pemodelan Algoritma 
1. Model Numerik 
Model numerik merupakan model 
matematis yang paling sederhana, yang 
dibuat untuk mendeskripsikan jumlah atau 
ukuran dari sesuatu 
2. Model Simbolik 
Terdapat empat buah simbol dasar untuk 
pemrosesan angka, yaitu +,−,×,dan÷. Simbol = juga 
digunakan untuk menandakan kesamaan nilai 
antara ruas kiri dan ruas kanan dari =.
Desain dan analisis algoritma
3. Model Spasial 
Tidak semua permasalahan yang diselesaikan oleh matematika atau 
komputer selalu berhubungan langsung dengan angka. Terkadang 
kita menjumpai juga masalah-masalah yang berhubungan dengan 
representasi dunia nyata seperti perhitungan jarak dua objek atau 
pencarian jalur terdekat untuk kendaraan. Secara tradisional, model 
untuk penyelesaian masalah seperti ini digambarkan dengan peta, 
graph, dan gambar-gambar teknis lainnya.
Desain dan analisis algoritma
4. Model Logis 
Model logis merupakan cara memodelkan masalah 
berdasarkan logika matematika. Terdapat empat 
cabang utama dari logika matematika, yaitu teori 
himpunan, teori model, teori rekursif, dan teori 
pembuktian 
Masing-masing teori memiliki cara pemodelan yang 
berbeda-beda, untuk merepresentasikan masalah 
yang berbeda. Pembahasan ini hanya akan 
membahas pemodelan logis pada bidang himpunan, 
dan relevansinya dengan salah satu sistem yang 
paling populer di dunia komputer: basis data.
Himpunan, seperti namanya, memodelkan sekumpulan 
entitas yang memiliki atribut (ciri khas) tertentu. Dalam 
menentukan atribut tujuan dari pengunaan himpunan lebih 
penting daripada kesamaan ciri khas dari entitas, sehingga 
terkadang atribut dari elemen-elemen dalam himpunan tidak 
selalu dapat dilihat dengan mudah. 
Misalnya, kita dapat mendeklarasikan sebuah himpunan 
dengan nama “Himpunan Barang dalam Handbag” dengan isi 
berupa “handphone, gunting kuku, alat make-up, tissue, 
dompet, alat tulis, dan karet gelang”. Secara sekilas semua 
entitas yang ada di dalam himpunan tidak terlihat memiliki 
atribut yang jelas, meskipun himpunan ini adalah himpunan 
yang valid.
Desain dan analisis algoritma
Desain dan analisis algoritma
5. Model Statistik 
Terdapat banyak permasalahan di dunia nyata yang tidak dapat 
dimodelkan dengan mudah menggunakan keempat model matematis 
yang telah kita bahas sebelumnya. Terkadang kita dihadapkan dengan 
permasalahan yang sangat kompleks, sampai-sampai memodelkan dan 
menganalisa setiap situasi yang mempengaruhi masalah tersebut akan 
menjadi sangat mahal, memerlukan banyak orang, dan banyak waktu. 
Sebagai contoh, bayangkan jika kita diminta untuk melakukan prakiraan 
cuaca. Dengan menggunakan model matematis yang ada, kita akan 
memerlukan sangat banyak kalkulasi, yang saling mempengaruhi satu 
sama lainnya. Praktisnya, kita harus mampu melakukan simulasi terhadap 
seluruh elemen yang ada di bumi untuk melakukan prakiraan cuaca 
dengan tepat. Hal ini tentunya sangat tidak efektif untuk dilakukan. Lalu 
bagaimana para ahli sekarang melakukan prakiraan cuaca?
Desain dan analisis algoritma
6. Pseudocode 
Semua model matematis yang telah dijelaskan sebelumnya merupakan model 
matematika yang digunakan dan dimengerti oleh manusia. Jika ingin 
menggunakan model matematis tersebut di komputer, terlebih dahulu kita 
harus melakukan konversi menjadi kode program yang dapat dibaca dan 
dimengerti oleh komputer. Kode program sendiri dimodelkan dengan banyak 
cara, dan yang paling relevan dengan algoritma ialah pseudocode. 
Semua model matematis yang telah dijelaskan sebelumnya merupakan model 
matematika yang digunakan dan dimengerti oleh manusia. Jika ingin 
menggunakan model matematis tersebut di komputer, terlebih dahulu kita 
harus melakukan konversi menjadi kode program yang dapat dibaca dan 
dimengerti oleh komputer. Kode program sendiri dimodelkan dengan banyak 
cara, dan yang paling relevan dengan algoritma ialah pseudocode.
Pengembangan Model 
Apakah masalah yang dihadapi merupakan masalah yang memerlukan solusi matematis? Jika 
masalahnya merupakan masalah numerik (perhitungan angka) atau logis, maka jawabannya sudah pasti 
“ya”. Jika solusi dari masalah berupa pendapat, maka kemungkinan jawabannya adalah “tidak”. 
Fakta-fakta relevan apa saja yang diketahui? Masalah umum yang dihadapi saat akan membangun 
solusi adalah informasi yang terlalu banyak, yang terkadang mencuri fokus kita dari akar masalah. 
Pisahkan antara fakta (informasi) yang relevan dari keseluruhan informasi yang didapatkan. 
Fakta atau informasi tambahan apa yang kita perlukan untuk menyelesaikan masalah? Di mana atau 
bagaimana cara agar kita mendapatkan fakta-fakta tersebut? 
Adakah langkah atau metode alami untuk menyelesaikan masalahnya? Metode alami artinya metode 
yang umumnya digunakan oleh manusia. Misalnya, untuk menghitung total dari sekumpulan nilai kita 
dapat menambahkan seluruh bilangan yang ada di dalam kumpulan nilai tersebut.
Apakah fakta-fakta yang ada dapat direpresentasikan oleh simbol matematis dan dikategorikan menjadi 
fakta yang “diketahui” dan “tidak diketahui”? 
Apakah terdapat model lama yang dapat digunakan atau disesuaikan untuk menyelesaikan masalah 
kita? 
Jika terdapat model yang telah dikembangkan sebelumnya untuk masalah kita, apakah model tersebut 
dapat diaplikasikan pada komputer? 
Bagaimana kita dapat mengaplikasikan model dari solusi kita sehingga model tersebut dapat dibuat 
menjadi program komputer dengan mudah?
Apakah masalah yang dihadapi merupakan masalah yang memerlukan solusi 
matematis? 
Ya. Perhitungan total bunga bunga jelas akan melibatkan matematika. 
Fakta-fakta relevan apa saja yang diketahui? 
Bunga pinjaman sebesar 15% per tahun.
Fakta atau informasi tambahan apa yang kita perlukan untuk menyelesaikan masalah? 
Beberapa fakta tambahan yang harus ada tetapi tidak disebutkan secara eksplisit pada 
deskripsi masalah: 
1. Jumlah pinjaman awal. Untuk menghitung total pinjaman dengan bunganya jelas kita 
harus mengetahui jumlah pinjaman awal terlebih dahulu. 
2. Lama pinjaman. Tanpa adanya lama pinjaman, kita tidak dapat mengetahui dengan 
pasti total bunga yang harus ditambahkan. 
Adakah langkah atau metode alami untuk menyelesaikan masalahnya? 
Ya, lakukan perhitungan bunga tiap tahunnya, dan tambahkan hasil kalkulasi tersebut 
sampai tahun pinjaman terakhir. 
Apakah fakta-fakta yang ada dapat direpresentasikan oleh simbol matematis? 
Dari fakta-fakta yang kita dapatkan pada langkah kedua dan ketiga, kita dapat 
mendefinisikan simbol matematis seperti berikut:
Apakah terdapat model lama yang dapat digunakan untuk menyelesaikan masalah kita? 
Ya, perhitungan bunga majemuk yang dimodelkan dengan rumus: T=p(1+b)^t. 
Apakah model yang ada sebelumnya pada langkah 6 dapat diaplikasikan pada 
komputer? 
Kemungkinan tidak, karena perhitungan bunga majemuk merupakan perhitungan yang 
tidak banyak diketahui orang (terutama pada bidang pemrograman), dan juga memiliki 
banyak aturan kompleks yang harus dimengerti terlebih dahulu. 
Karena kasus yang sederhana, kita akan lebih mudah mengimplementasikan algoritma 
kita sendiri, yang cukup melakukan iterasi dan menambahkan total pinjaman setiap 
tahunnya. Mari kita coba kembangkan model iterasi yang dapat digunakan.
yang kemudian akan kita implementasikan sebagai fungsi penghitung total 
pinjaman.
Bagaimana kita dapat mengaplikasikan model dari solusi kita sehingga model tersebut 
dapat dibuat menjadi program komputer dengan mudah? 
Pseudocode yang ada sudah sangat jelas, dan baris per barisnya dapat 
diimplementasikan secara langsung menggunakan bahasa pemrograman apapun. 
Setelah mendapatkan model penyelesaian masalah sampai pada pseudocode-nya, kita 
kemudian dapat mengimplementasikan solusi yang dikembangkan menggunakan bahasa 
pemrograman yang diinginkan.

More Related Content

PDF
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
PDF
Queue
PDF
Analisis Algoritma - Pengantar Kompleksitas Algoritma
DOCX
Analisa Website Traveloka - Makalah IMK
PDF
Analisis Algoritma - Langkah Desain Algoritma
PPTX
Jenis dan proses interupsi
PDF
Modul algoritma pemrograman-dasar x rpl
PDF
Pertemuan 04 Teknik Pencarian (Search)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Queue
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisa Website Traveloka - Makalah IMK
Analisis Algoritma - Langkah Desain Algoritma
Jenis dan proses interupsi
Modul algoritma pemrograman-dasar x rpl
Pertemuan 04 Teknik Pencarian (Search)

What's hot (20)

PDF
Representasi Pengetahuan
PPTX
Ragam Dialog :: Interaksi Manusia dan Komputer
PDF
Matematika Diskrit - 11 kompleksitas algoritma - 03
PPTX
Rpl 10-perancangan user interface
PPTX
Bab 5 penyederhanaan fungsi boolean
PPTX
Pertemuan 6 & 7 ars. gerbang logika
PPT
Modul 4 representasi pengetahuan
PPTX
PPT
Dasar c++ input, proses, output
PDF
Keamanan sistem operasi
PDF
REKAYASA PERANGKAT LUNAK
PDF
Contoh peyelesaian logika fuzzy
PPTX
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
PDF
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
PDF
Interaksi manusia dan komputer
PDF
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
PDF
Organisasi dan arsitektur komputer
PPTX
Software Aplikasi Dasar dan Software Khusus
PDF
Matematika Diskrit - 01 pengantar matematika diskrit
PPTX
Contoh soal dan penyelesaian metode biseksi
Representasi Pengetahuan
Ragam Dialog :: Interaksi Manusia dan Komputer
Matematika Diskrit - 11 kompleksitas algoritma - 03
Rpl 10-perancangan user interface
Bab 5 penyederhanaan fungsi boolean
Pertemuan 6 & 7 ars. gerbang logika
Modul 4 representasi pengetahuan
Dasar c++ input, proses, output
Keamanan sistem operasi
REKAYASA PERANGKAT LUNAK
Contoh peyelesaian logika fuzzy
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
Interaksi manusia dan komputer
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Organisasi dan arsitektur komputer
Software Aplikasi Dasar dan Software Khusus
Matematika Diskrit - 01 pengantar matematika diskrit
Contoh soal dan penyelesaian metode biseksi
Ad

Viewers also liked (6)

PDF
Matematika Diskrit - 11 kompleksitas algoritma - 02
PDF
Modul pengajaran analisa perancangan sistem informasi
PPTX
Micro teaching konsep logika algoritma
PPTX
Algorithm & Data Structure - Algoritma Pengurutan
PPTX
Mengintip Kompleksitas
PDF
Struktur Pemrograman Java
Matematika Diskrit - 11 kompleksitas algoritma - 02
Modul pengajaran analisa perancangan sistem informasi
Micro teaching konsep logika algoritma
Algorithm & Data Structure - Algoritma Pengurutan
Mengintip Kompleksitas
Struktur Pemrograman Java
Ad

Similar to Desain dan analisis algoritma (20)

DOCX
Materi metode numerik
DOC
Tajuk 1 pengenalan
PDF
Bab1 mata kuliah metode numerik
PDF
Metode numerik-stmik-aub
PDF
Sejarah Algoritma
PPTX
Tugas metode numerik ( anida dan yeni)
PDF
pengantar metode numerik
PDF
Dasar Algoritma
PDF
Modul teknik pemrograman mikrokontroler dan mikroprosesor
PPTX
BAB 2 Berpikir algoritma dan berlangkah-langkahpptx
PPTX
BAB 1 - BERPIKIR KOMPUTASIONAL kelas vii OK.pptx
DOCX
Dasar pemrograman
PDF
Metode numerik-rinaldi-munir-libre
PDF
Bab 1 pengantar algoritma
PDF
Materi Lokakarya PMM Untuk memahami apa itu Computational Thinking Dalam Pemb...
PDF
METODE BISECTION.pdf
PPSX
PPT SMA XI BAB 2 Strategi Algoritma.ppsx
PPTX
2) APLIKASI-APLIKASI ATAU SOFTWARE-SOFTWARE PEMBELAJARAN MATEMATIKA.pptx
DOCX
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
PPTX
Simulasi_Sistem.pptx
Materi metode numerik
Tajuk 1 pengenalan
Bab1 mata kuliah metode numerik
Metode numerik-stmik-aub
Sejarah Algoritma
Tugas metode numerik ( anida dan yeni)
pengantar metode numerik
Dasar Algoritma
Modul teknik pemrograman mikrokontroler dan mikroprosesor
BAB 2 Berpikir algoritma dan berlangkah-langkahpptx
BAB 1 - BERPIKIR KOMPUTASIONAL kelas vii OK.pptx
Dasar pemrograman
Metode numerik-rinaldi-munir-libre
Bab 1 pengantar algoritma
Materi Lokakarya PMM Untuk memahami apa itu Computational Thinking Dalam Pemb...
METODE BISECTION.pdf
PPT SMA XI BAB 2 Strategi Algoritma.ppsx
2) APLIKASI-APLIKASI ATAU SOFTWARE-SOFTWARE PEMBELAJARAN MATEMATIKA.pptx
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
Simulasi_Sistem.pptx

Recently uploaded (20)

PDF
Modul Ajar Deep Learning IPAS Kelas 6 Kurikulum Merdeka
PDF
LK - Kerangka Pembelajaran Mendalam luring 4 Herpina Indah Permata Sari.pdf
PPTX
Pengimbasan pembelajaran mendalam (deep learning
PDF
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
PPTX
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PPTX
7 KEBIASAAN ANAK INDONESIA HEBAT.pptx xx
PPTX
Perubahan Pengertian_Istilah _Pelatihan "Ketentuan TERBARU Pengadaan Pemerin...
PPTX
ppt_bola_basket_kelas x sma mata pelajaran pjok.pptx
PDF
Ilmu tentang pengembangan teknologi pembelajaran
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
DOCX
Modul Ajar Pembelajaran Mendalam PJOK Kelas XII Terbaru 2025
PPT
KOMITMEN MENULIS DI BLOG IGTIK PB PGRI.ppt
PPTX
Aliran Pemikiran dalam Dakwah materi awal
PPTX
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
DOC
CV_Kanaidi, SE., M.Si., cSAP., CGRC., CBCM_18 Agustus 2025.doc
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PDF
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
PPTX
! Keterampilan Digital dalam orgnasisasi.pptx
PPTX
Modul ajar kelas 5 sd kecerdasan artifisial pptx
Modul Ajar Deep Learning IPAS Kelas 6 Kurikulum Merdeka
LK - Kerangka Pembelajaran Mendalam luring 4 Herpina Indah Permata Sari.pdf
Pengimbasan pembelajaran mendalam (deep learning
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
7 KEBIASAAN ANAK INDONESIA HEBAT.pptx xx
Perubahan Pengertian_Istilah _Pelatihan "Ketentuan TERBARU Pengadaan Pemerin...
ppt_bola_basket_kelas x sma mata pelajaran pjok.pptx
Ilmu tentang pengembangan teknologi pembelajaran
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
Modul Ajar Pembelajaran Mendalam PJOK Kelas XII Terbaru 2025
KOMITMEN MENULIS DI BLOG IGTIK PB PGRI.ppt
Aliran Pemikiran dalam Dakwah materi awal
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
CV_Kanaidi, SE., M.Si., cSAP., CGRC., CBCM_18 Agustus 2025.doc
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
! Keterampilan Digital dalam orgnasisasi.pptx
Modul ajar kelas 5 sd kecerdasan artifisial pptx

Desain dan analisis algoritma

  • 2. Apakah itu Algoritma?? Algoritma merupakan langkah-langkah (prosedur) yang harus dilakukan untuk menyelesaikan sebuah masalah.
  • 3. Algoritma harus memiliki.... Masalah, yaitu sebuah persoalan yang ingin diselesaikan oleh sebuah algoritma. Masukan, yaitu contoh data atau keadaan yang menjadi permasalahan. Keluaran, yaitu bentuk akhir dari data atau keadaan setelah algoritma diimplementasikan ke masukan. Keluaran merupakan hasil ideal yang diinginkan dan dianggap telah menyelesaikan masalah.
  • 5. Bagaimana algoritma yang baik?? Benar di mana algoritma menyelesaikan masalah dengan tepat, sesuai dengan definisi masukan / keluaran algoritma yang diberikan. Efisien menyelesaikan masalah tanpa memberatkan bagian lain dari apliikasi. Sebuah algoritma yang tidak efisien akan menggunakan sumber daya (memori, CPU) yang besar dan memberatkan aplikasi yang mengimplementasikan algoritma tersebut. Mudah artinya sebuah algoritma yang baik harus dapat dimengerti dengan mudah sehingga implementasi algoritma dapat dilakukan siapapun dengan pendidikan yang tepat, dalam waktu yang masuk akal
  • 6. Pembuktian Kebenaran Algoritma Sebuah algoritma dikatakan telah benar jika algoritma tersebut dapat memberikan keluaran yang benar jika menerima masukan sesuai dengan definisi algoritma tersebut, dan algoritma tersebut terbukti akan selalu dapat diterminasi (berakhir).
  • 7. Bagaimana pembuktian kebenaran algoritma?? Induksi Matematika Pembuktian Kontradiktif Pembuktian Kontrapositif Metode Formal Tapi dalam pembuktian kebenaran algoritma ini, kita hanya menggunakan INDUKSI MATEMATIKA
  • 8. Induksi Matematika Induksi matematika merupakan alat pembuktian matematis yang digunakan untuk membuktikan pernyataan atau proses yang melibatkan perhitungan bilangan asli yang berulang Pembuktian kebenaran algoritma dengan Induksi Matematika dapat dilakukan dengan 2 cara, yaitu: Melakukan pembuktian kasus dasar (base case), yaitu membuktikan bahwa sebuah pernyataan (fungsi) matematika atau algoritma bernilai benar jika diaplikasikan pada bilangan pertama yang sah sesuai dengan spesifikasi fungsi atau algoritma tersebut. 1 2 fungsi jika kebenaran fungsi diketahui. Melakukan induksi, yaitu membuktikan bahwa kebenaran dari
  • 9. Dengan membuktikan kedua hal tersebut, kita dapat mengambil kesimpulan bahwa sebuah fungsi matematika atau algoritma bernilai benar untuk semua bilangan asli. Jika diimplementasikan dengan tepat, induksi matematika dapat juga digunakan untuk membuktikan kebenaran algoritma rekursif seperti penelusuran pohon (tree).
  • 10. Contoh 1. Deret Aritmatika karena hasil akhir dari ruas kanan dan ruas kiri adalah sama (1 ), maka dapat dikatakan bahwa kasus dasar telah terbukti.
  • 11. dan seperti yang dapat dilihat, ruas kiri dari p(k + 1) telah menjadi sama dengan ruas kanannya, sehingga dapat dikatakan bahwa tahap induksi telah berhasil dibuktikan benar. Dengan pembuktian kasus dasar dan induksi yang bernilai benar, kita dapat menyimpulkan bahwa P(n) bernilai benar untuk n ≥ 1.
  • 15. dan secara otomatis tentunya pernyataan matematis tersebut dapat kita buktikan dengan menggunakan induksi matematika. Pembuktian perulangan yang lebih kompleks sendiri dapat dilakukan dengan teknik yang dikenal dengan nama loop invariant, yang tidak akan dijelaskan pada pembahasan ini.
  • 17. Jenis-jenis Pemodelan Algoritma 1. Model Numerik Model numerik merupakan model matematis yang paling sederhana, yang dibuat untuk mendeskripsikan jumlah atau ukuran dari sesuatu 2. Model Simbolik Terdapat empat buah simbol dasar untuk pemrosesan angka, yaitu +,−,×,dan÷. Simbol = juga digunakan untuk menandakan kesamaan nilai antara ruas kiri dan ruas kanan dari =.
  • 19. 3. Model Spasial Tidak semua permasalahan yang diselesaikan oleh matematika atau komputer selalu berhubungan langsung dengan angka. Terkadang kita menjumpai juga masalah-masalah yang berhubungan dengan representasi dunia nyata seperti perhitungan jarak dua objek atau pencarian jalur terdekat untuk kendaraan. Secara tradisional, model untuk penyelesaian masalah seperti ini digambarkan dengan peta, graph, dan gambar-gambar teknis lainnya.
  • 21. 4. Model Logis Model logis merupakan cara memodelkan masalah berdasarkan logika matematika. Terdapat empat cabang utama dari logika matematika, yaitu teori himpunan, teori model, teori rekursif, dan teori pembuktian Masing-masing teori memiliki cara pemodelan yang berbeda-beda, untuk merepresentasikan masalah yang berbeda. Pembahasan ini hanya akan membahas pemodelan logis pada bidang himpunan, dan relevansinya dengan salah satu sistem yang paling populer di dunia komputer: basis data.
  • 22. Himpunan, seperti namanya, memodelkan sekumpulan entitas yang memiliki atribut (ciri khas) tertentu. Dalam menentukan atribut tujuan dari pengunaan himpunan lebih penting daripada kesamaan ciri khas dari entitas, sehingga terkadang atribut dari elemen-elemen dalam himpunan tidak selalu dapat dilihat dengan mudah. Misalnya, kita dapat mendeklarasikan sebuah himpunan dengan nama “Himpunan Barang dalam Handbag” dengan isi berupa “handphone, gunting kuku, alat make-up, tissue, dompet, alat tulis, dan karet gelang”. Secara sekilas semua entitas yang ada di dalam himpunan tidak terlihat memiliki atribut yang jelas, meskipun himpunan ini adalah himpunan yang valid.
  • 25. 5. Model Statistik Terdapat banyak permasalahan di dunia nyata yang tidak dapat dimodelkan dengan mudah menggunakan keempat model matematis yang telah kita bahas sebelumnya. Terkadang kita dihadapkan dengan permasalahan yang sangat kompleks, sampai-sampai memodelkan dan menganalisa setiap situasi yang mempengaruhi masalah tersebut akan menjadi sangat mahal, memerlukan banyak orang, dan banyak waktu. Sebagai contoh, bayangkan jika kita diminta untuk melakukan prakiraan cuaca. Dengan menggunakan model matematis yang ada, kita akan memerlukan sangat banyak kalkulasi, yang saling mempengaruhi satu sama lainnya. Praktisnya, kita harus mampu melakukan simulasi terhadap seluruh elemen yang ada di bumi untuk melakukan prakiraan cuaca dengan tepat. Hal ini tentunya sangat tidak efektif untuk dilakukan. Lalu bagaimana para ahli sekarang melakukan prakiraan cuaca?
  • 27. 6. Pseudocode Semua model matematis yang telah dijelaskan sebelumnya merupakan model matematika yang digunakan dan dimengerti oleh manusia. Jika ingin menggunakan model matematis tersebut di komputer, terlebih dahulu kita harus melakukan konversi menjadi kode program yang dapat dibaca dan dimengerti oleh komputer. Kode program sendiri dimodelkan dengan banyak cara, dan yang paling relevan dengan algoritma ialah pseudocode. Semua model matematis yang telah dijelaskan sebelumnya merupakan model matematika yang digunakan dan dimengerti oleh manusia. Jika ingin menggunakan model matematis tersebut di komputer, terlebih dahulu kita harus melakukan konversi menjadi kode program yang dapat dibaca dan dimengerti oleh komputer. Kode program sendiri dimodelkan dengan banyak cara, dan yang paling relevan dengan algoritma ialah pseudocode.
  • 28. Pengembangan Model Apakah masalah yang dihadapi merupakan masalah yang memerlukan solusi matematis? Jika masalahnya merupakan masalah numerik (perhitungan angka) atau logis, maka jawabannya sudah pasti “ya”. Jika solusi dari masalah berupa pendapat, maka kemungkinan jawabannya adalah “tidak”. Fakta-fakta relevan apa saja yang diketahui? Masalah umum yang dihadapi saat akan membangun solusi adalah informasi yang terlalu banyak, yang terkadang mencuri fokus kita dari akar masalah. Pisahkan antara fakta (informasi) yang relevan dari keseluruhan informasi yang didapatkan. Fakta atau informasi tambahan apa yang kita perlukan untuk menyelesaikan masalah? Di mana atau bagaimana cara agar kita mendapatkan fakta-fakta tersebut? Adakah langkah atau metode alami untuk menyelesaikan masalahnya? Metode alami artinya metode yang umumnya digunakan oleh manusia. Misalnya, untuk menghitung total dari sekumpulan nilai kita dapat menambahkan seluruh bilangan yang ada di dalam kumpulan nilai tersebut.
  • 29. Apakah fakta-fakta yang ada dapat direpresentasikan oleh simbol matematis dan dikategorikan menjadi fakta yang “diketahui” dan “tidak diketahui”? Apakah terdapat model lama yang dapat digunakan atau disesuaikan untuk menyelesaikan masalah kita? Jika terdapat model yang telah dikembangkan sebelumnya untuk masalah kita, apakah model tersebut dapat diaplikasikan pada komputer? Bagaimana kita dapat mengaplikasikan model dari solusi kita sehingga model tersebut dapat dibuat menjadi program komputer dengan mudah?
  • 30. Apakah masalah yang dihadapi merupakan masalah yang memerlukan solusi matematis? Ya. Perhitungan total bunga bunga jelas akan melibatkan matematika. Fakta-fakta relevan apa saja yang diketahui? Bunga pinjaman sebesar 15% per tahun.
  • 31. Fakta atau informasi tambahan apa yang kita perlukan untuk menyelesaikan masalah? Beberapa fakta tambahan yang harus ada tetapi tidak disebutkan secara eksplisit pada deskripsi masalah: 1. Jumlah pinjaman awal. Untuk menghitung total pinjaman dengan bunganya jelas kita harus mengetahui jumlah pinjaman awal terlebih dahulu. 2. Lama pinjaman. Tanpa adanya lama pinjaman, kita tidak dapat mengetahui dengan pasti total bunga yang harus ditambahkan. Adakah langkah atau metode alami untuk menyelesaikan masalahnya? Ya, lakukan perhitungan bunga tiap tahunnya, dan tambahkan hasil kalkulasi tersebut sampai tahun pinjaman terakhir. Apakah fakta-fakta yang ada dapat direpresentasikan oleh simbol matematis? Dari fakta-fakta yang kita dapatkan pada langkah kedua dan ketiga, kita dapat mendefinisikan simbol matematis seperti berikut:
  • 32. Apakah terdapat model lama yang dapat digunakan untuk menyelesaikan masalah kita? Ya, perhitungan bunga majemuk yang dimodelkan dengan rumus: T=p(1+b)^t. Apakah model yang ada sebelumnya pada langkah 6 dapat diaplikasikan pada komputer? Kemungkinan tidak, karena perhitungan bunga majemuk merupakan perhitungan yang tidak banyak diketahui orang (terutama pada bidang pemrograman), dan juga memiliki banyak aturan kompleks yang harus dimengerti terlebih dahulu. Karena kasus yang sederhana, kita akan lebih mudah mengimplementasikan algoritma kita sendiri, yang cukup melakukan iterasi dan menambahkan total pinjaman setiap tahunnya. Mari kita coba kembangkan model iterasi yang dapat digunakan.
  • 33. yang kemudian akan kita implementasikan sebagai fungsi penghitung total pinjaman.
  • 34. Bagaimana kita dapat mengaplikasikan model dari solusi kita sehingga model tersebut dapat dibuat menjadi program komputer dengan mudah? Pseudocode yang ada sudah sangat jelas, dan baris per barisnya dapat diimplementasikan secara langsung menggunakan bahasa pemrograman apapun. Setelah mendapatkan model penyelesaian masalah sampai pada pseudocode-nya, kita kemudian dapat mengimplementasikan solusi yang dikembangkan menggunakan bahasa pemrograman yang diinginkan.