Algoritma - Model Matematika

Setelah sekilas membahas analisa algoritma dan teorinya, maka kita bisa mengamati apa yang terjadi seperti dalam penyelesaian masalah, memberi kita cara untuk memprediksi kinerja algoritma namun ternyata itu tak akan membantu jika sebelumnya tidak memahami apa yang dilakukan algoritma. Langkah selanjutnya, kita akan melihat model matematika, dimana proses penerjemahan masalah dibawa kedalam bahasa matematika, sehingga akan mengetahui cara untuk mendapatkan konsep yang lebih baik tentang apa yang sebenarnya terjadi dalam proses penyelesaian masalah.

images1

Konsep ini sebenarnya diperkenalkan dan dikembangkan oleh Donald Knuth, saat sistem komputer benar-benar menjadi rumit untuk pertama kalinya, sewaktu banyaknya keraguan terhadap proses penyelesaian masalah, namun lewat konsep Model matematika Algoritma, proses dapat dipastikan setiap langkahnya.

Dengan konsep ini, kita akan tahu bahwa pada prinsipnya, kita bisa mendapatkan model matematika yang akurat untuk kinerja algoritma atau program dalam operasi. Sebuah algoritma dituliskan menjadi fungsi matematika sehingga menjadi sebuah model. Kemudian inilah yang digunakan dalam menggambarkan masalah yang ditemui pada dunia nyata, dan ingin diselesaikan, maka dengan model masalah yang telah kita buat, dapat lebih mudah mengerti masalah yang akan diselesaikan, yang akan menyebabkan solusi yang ditawarkan menjadi lebih baik.

Dengan model matematika, kita dapat mengkalkulasi total running time program dengan mengidentifikasi semua operasi dasar, membayangkan cost, eksekusi frekuensi dan jumlah cost tiap frekuensi semua operasi. Maka anda bisa menganalisis program untuk menentukan rangkaian operasi dan cost tergantung pada mesin dan komputer dalam sistem, dan frekuensi yang akan membawa kita ke matematika karena tergantung pada algoritma dan input data.

Kita bisa membuat model dengan langkah awal, apakah masalah yang mau diselesaikan bisa menggunakan solusi matematika. Setelah memastikan masalah bisa dirumuskan lewat model matematika. Kemudian cari fakta-fakta relevan yang diperoleh dari keseluruhan informasi yang didapatkan. Kemudian masukkan metode alami yang biasa kita gunakan, misalnya, untuk menghitung total sejumlah nilai kita dapat menambahkan seluruh bilangan yang ada pada kumpulan nilai tersebut.

Fakta-fakta tersebut direpresentasikan lewat simbol matematis dan dikategorikan menjadi fakta yang “diketahui” dan “tidak diketahui seperti N1, N2,…, Nx, totalkan semua jumlah N. Periksa apakah ada model lama yang bisa digunakan atau disesuaikan untuk menyelesaikan masalah atau mungkin ada model yang telah dikembangkan sebelumnya dan dapat diaplikasikan pada komputer. Kemudian desain dengan mengaplikasikan model dari solusi kita sehingga model tersebut dapat dibuat menjadi program komputer dengan mudah.

Sedangkan Menurut Knuth, dari Matematika dalam algoritma yang baik bisa dilakukan seperti langkah berikut :

  • Memasukan (Input) Inputnya bisa 0 (nol) atau lebih
  • Keluaran (Output) Hasil Output Minimal 1.
  • Terbatas (Finite) Setelah melakukan proses langkah-langkah, Algoritma akan
  • Pasti (Definite) Prosesnya jelas kapan akan dimulai dan kapan berhenti, dan nampak setiap langkah memiliki proses yang jelas sehingga tujuan dari algoritma juga jelas
  • Efisien Pembuatan algoritma harus efisien, tidak membuang waktu proses seperti contoh langkah mencari hasil 1 + 0 karena dianggap tidak efisien, karena bilangan apapun jika ditambah dengan 0 hasilnya tetaplah bilangan itu sendiri.

Sebagai contoh simple, anda akan membuat algoritma luas segitiga, maka ketahuilah panjang alas dan tinggi segitiga.

Sekarang kita lihat langkah algoritmanya:

  • Masalah : Luas segitiga
  • Input : Panjang alas dan tinggi segitiga
  • Output : Luas segitiga

Buat algoritma seperti ini:

  • Masukkan panjang alas ( a ) dan tinggi segitiga ( t )
  • Hitung luas segitiga dengan rumus : 12 x alas x tinggi
  • Cetak hasil

Perhatikan Model dibawah ini:

//Menghitung Luas segitiga dengan panjang alas dan tinggi segitiga diketahui //

  • Baca ( a , t )
  • Luas = (a x t) / 2
  • Cetak ( Luas )

Nah dari langkah-langkah diatas, akan memudahkan membuat suatu algoritma yang jika secara manual langkah-langkah dan prosesnya sangat panjang, karena kadang atau harus menitikberatkan pada rumus dan urutan-urutan langkah penggunaan, namun kemudian bisa mempersingkat langkah-langkah tersebut dengan suatu model matematika, sehingga output yang dihasilkan sama. Dari sini, anda akan paham ada banyak teknik yang bisa kita gunakan untuk ini, dan langkah tersebut diatas hanya sebagai bayangan karena kami tidak akan bisa mengajarkan semua itu.

Namun, terkadang kita bisa merujuk pada hasil dari jenis ini. Jadi, pada prinsipnya, Knuth memberi tahu kita bahwa model matematika yang akurat tersedia, dan dalam prakteknya, kita bisa mendapatkan formula yang sangat rumit.

Kita juga mungkin memerlukan beberapa matematika tingkat lanjut yang akan digembar-gemborkan oleh teoritisi tapi untuk orang-orang yang mempelajari algoritma pertama kalinya sebaiknya tidak diharapkan untuk mengetahuinya. Jadi, pada akhirnya, model yang tepat dan hati-hati sebaiknya diserahkan kepada ahli-ahli dan di sisi lain, model yang mendekati pasti berharga. Untuk semua algoritma yang kami pertimbangkan, kami akan mencoba membahas model perkiraan yang wajar yang dapat digunakan untuk menggambarkan running time.