1. Pengertian Logika dan Algoritma
Pengertian algoritma sangat lekat dengan
kata logika, yaitu kemampuan seorang manusia untuk berfikir dengan akal tentang
suatu permasalahan menghasilkan sebuah kebenaran, dibuktikan dan dapat diterima
akal, logika seringkali dihubungkan dengan kecerdasan, seseorang yang mampu
berlogika dengan baik sering orang menyebutnya sebagai pribadi yang cerdas.
Dalam menyelesaikan suatu masalahpun logika mutlak diperlukan.
Logika identik dengan masuk akal dan
penalaran. Penalaran adalah salah satu bentuk pemikiran. Pemikiran adalah
pengetahuan tak langsung yang didasarkan pada pernyataan langsung pemikiran
mungkin benar dan mungkin juga tak benar.Definisi logika sangat sederhana yaitu
ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir
valid menurut aturan yang berlaku. Pelajaran logika menimbulkan kesadaran untuk
menggunakan prinsip-prinsip untuk berfikir secara sistematis.
Logika berasal dari dari bahasa Yunani
yaitu LOGOS yang berarti ilmu. Logika dapat diartikan ilmu yang mengajarkan
cara berpikir untuk melakukan kegiatan dengan tujuan tertentu. Algoritma
berasal dari nama seorang Ilmuwan Arab yang bernama Abu JafarMuhammad Ibnu Musa
Al Khuwarizmi penulis buku berjudul Al Jabar Wal Muqabala.
Kata Al Khuwarizmi dibaca orang barat menjadi Algorism yang
kemudian lambat laun menjadi Algorithm diserap dalam bahasa Indonesia menjadi
Algoritma.Algoritma dapat diartikan urutan penyelesaian masalah yang disusun
secara sistematis menggunakan bahasa yang logis untuk memecahkan suatu
permasalahan.
Meski demikian terdapat beberapa
definisi algoritma yang lain. Diantaranya menurut Rinaldi Munir, algoritma
adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis. Sedang menurut Kamus Besar Bahasa Indonesia, definisi algoritma
adalah urutan logis pengambilan keputusan untuk pemecahan masalah. Menurut tim
Gunadarma:1988, algoritma adalah suatu himpunan berhingga dari
instruksi-instruksi yang secara jelas memperinci langkah-langkah proses
pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah
tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat
dilaksanakan secara mekanik. Dari pengertian diatas maka dapat disimpulkan
bahwa Logika danAlgoritmaadalah ilmu yang mempelajari cara penyelesaian suatu
masalah berdasarkan urutan langkah-langkah terbatas yang disusun secara
sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu.
Untuk lebih mudah memahami arti dari
algoritma dicontohkan sebuah permasalahan penukaran isi dari dua gelas.
Diberikan dua buah gelas A dan B, gelasA berisi air teh dan gelasB berisi air
kopi. Pertukarkan isi gelas tersebut sehingga menghasilkan gelasA yang semula
berisi air teh menjadi berisi air kopi dan gelasB yang semula berisi air kopi
menjadi berisi air teh. Ilustrasi permasalahan ini dapat dilihat pada Gambar
1.1.
Gambar 1.1. Penukaran gelas isi gelas A dan gelas B.
Cara penyelesaian permasalahan ini
adalah sebagai berikut. Untuk mempertukarkan isi gelasdengan benar, maka
diperlukan gelastambahan yang kita namakan gelasCsebagai tempat penampungan
sementara. Berikut Algoritmanya:
1.
Siapkan gelas cadangan C
2.
Tuangkan air teh dari gelas A ke
dalam gelas C (gelas A menjadi kosong).
3.
Tuangkan air kopi dari gelas B ke
dalam gelas A (gelas B menjadi kosong).
4.
Tuangkan air teh dari gelas C ke
dalam gelas B.
Ilustrasi langkah-langkah algoritma dapat dilihat pada Gambar 1.2.
Gambar 1.2. Langkah-langkah penukaran gelas isi gelas A dan
gelas B.
Dari contoh tersebut dapat dilihat bahwa
penyelesaian permasalahan penukaran isi dua buah gelas sangat sederhana. Disini
digunakan urutan langkah yang masuk akal atau logis sehingga isi dari kedua nya
sudah berpindah media, dari A ke B dan B ke A. Inilah yang dinamakan
“Algoritma”, urutan penyelesaian sebuah permasalahan dengan urutan dan langkah
yang logis dan masuk akal menghasilkan sesuatu langkah yang benar.
Contoh lain penggunaan logika dan
algoritma adalah membuat algoritma untuk menghitung luas lingkaran, caranya:
1.
Menentukan nilai jari-jari (r) lingkaran.
2.
Menentukan nilai
phi.
3.
Menghitung luas lingkaran dengan
cara mengkalikan nilai jari-jari (r) dengan (r) lalu dikalikan dengan nilai phi.
4.
Maka luas lingkaran
ditemukan.
5.
Selesai.
Saat menggunakan logika, sebaiknya
jangan berfikir terlalu rumit tentang sebuah masalah, karena belum tentu
masalah itu serumit yang kita pikir. Pikirkan hal yang paling sederhana untuk
menyelesaikan masalah itu, sehingga tidak terjebak dalam pikiran rumit yang
dibuat sendiri. Meski demikian jangan meremehkan masalah sekecil apapun, tapi
berfikir sederhana untuk menghasilkan solusi yang efektif
Dalam menentukan algoritma untuk
menyelesaikan suatu permasalahan, mungkin kita dihadapkan oleh beberapa pilihan
algoritma. Oleh karena itu kita harus memiliki rambu- rambu dalam menentukan
pilihan algoritma. Pertimbangan dalam pemilihan algoritmaadalah, pertama,
algoritma haruslah benar. Artinya algoritma akan memberikan keluaran susuai
seperti yang diharapkan dari sejumlah masukan yang diberikan. Tidak
peduli sebagus apapun algoritma, jika
memberikan keluaran yang salah, maka sudah pasti algoritma tersebut bukanlah
algoritma yang baik. Pertimbangan kedua yang harus diperhatikan adalah kita
harus mengetahuiseberapa baik hasil yang dicapai oleh algoritma tersebut. Hal
ini pentingterutama pada algoritma yang memerlukan aproksimasi hasil yaitu
algoritma yang hasilnya hanya berupa pendekatan. Algoritma yangbaik harus mampu
memberikan hasil yang sedekat mungkin dengan nilaiyang sebenarnya.Ketiga adalah
efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari dua hal yaitu
efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar
atau paling mendekati, tetapi jika kita harus menunggu lama untuk mendapatkan
hasil semisal berjam-jam untuk mendapatkan keluarannya maka biasanya algoritma
tersebut biasanyatidak akan menjadi pilihan utama, setiap orang menginginkan
keluaran yang relatif cepat. Begitujuga dengan memori, semakin besar memori yang
terpakai maka semakin jelek algoritma tersebut.Dalam kenyataannya, setiap orang
bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan,
walaupun terjadi perbedaandalam menyusun algoritma, tentunya kita mengharapkan
keluaran yang mirip atau sama. Jika dihadapkan pada permasalahan seperti ini
maka sebaiknya pilih algoritma yang paling efisien dan cepat.
Tujuan dari belajar logika dan algoritma
adalah agar dapat membiasakan diri melakukan suatu perencanaan apabila
menyelesaikan suatu masalah.Karena suatu permasalahan yang diselesaikan dengan
suatu perencanaan yang matang maka akan mendapatkan solusi yang lebih optimal
dibandingkan menyelesaikan masalah tanpa menggunakan suatu perencanaan.
1.1 Ciri-ciri Dasar Algoritma
Tidak semua urutan langkah penyelesaian masalah yang logis
dapat disebut sebagai algoritma. Menurut Donald E. Knuth, algoritma mempunyai
lima ciri penting yang meliputi:
1.
Finiteness (keterbatasan),
algoritma harus berakhir setelah mengerjakan sejumlah langkah proses.
2.
Definiteness (kepastian), setiap
langkah harus didefinisikan secara tepat dan tidak berarti ganda.
3.
Input (masukan), algoritma memiliki nol atau lebih
data masukan (input).
4.
Output (keluaran), algoritma mempunyai nol atau
lebih hasil keluaran (output).
5.
Effectiveness (efektivitas),
algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam
waktu yang wajar.
Sedang sifat
algoritma adalah:
1.
Tidak menggunakan simbol atau sintaks dari suatu
bahasa pemrograman tertentu.
2.
Tidak tergantung pada suatu bahasa pemrograman tertentu.
3.
Notasi-notasinya dapat digunakan untuk seluruh
bahasa manapun.
4.
Algoritma dapat digunakan untuk
merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di
semua kejadian sehari-hari