LOGIKA
Definisi
Logika - Secara etimologis, logika adalah istilah yang dibentuk dari kata
logikos yang berasal dari kata benda logos. Kata logos, berarti sesuatu yang
diutarakan, suatu pertimbangan akal (pikiran), kata, percakapan, atau ungkapan
lewat bahasa. Kata logikos, berarti mengenal kata, mengenai percakapan atau
yang berkenaan dengan ungkapan lewat bahasa. Dengan demikian, dapatlah dikatan
bahwa logika adalah suatu pertimbangan akal atau pikiran yang diutrakan lewat
kata dan dinyatakan dalam bahasa.
Logika
adalah ilmu pengetahuan dan keterampilan berpikir lurus. Tt, (1999 :71)
Logika
adalah suatau pertimbangan akal atau pikiran yang diatur lewat kata dan
dinyatakan dalam bahasa. Jan Hendrik Rapar, (1996 : 5)
Logika
adalah ilmu dan kecakapan menalar, berpikir dengan tepat.W. Poespoprodjo, Ek.
T. Gilarso. (2006: 13)
Logika
adalah suatu metode atau teknik yang diciptakan untuk meneliti ketepatan
nenalar. Soekadijo, (1983-1994: 3)
Aristoteles
: logika adalah ajaran tentang berpikir yang secara ilmiah membicarakan bentuk
pikiran itu sendiri dan hukum-hukum yang menguasai pikiran.(Harun, 1980)
Surajiyo, Sugeng Astanto, Sri Andiani(…..:10)
William
Alston : logika adalah studi tentang penyimpulan, secara lebih ceramat usaha
untuk mennetapkan ukuran-ukuran guna memisahkan penyimpulan yang sah dan tidak
sah.Surajiyo, Sugeng Astanto, Sri Andiani(…..: 9)
A.
Tempat Logika dalam Peta Ilmu Pengetahuan
Aristoteles
(384-322 SM) membagi ilmu pengetahuan ke dalam tiga kelas atau tiga kelompok
sebagai berikut
1.
Filsafat Spekulatif atau Filsafat Teorites, yang bersifat objektif dan
bertujuan pengetahuan demi pengetahuan itu sendiri. Kelompok ini terdiri dari
atas fisika, metafisila, biopsikologi, dan teologia.
2.
Filsafat Praktika, yang member pedoman bagi tingkah laku manusia. Kelompok ini
terdiri atas etika dan politik.
3.
Filsafat Produktif, yang membimbing manusia menjadi produktif lewat ketrampilan
khusus. Kelompok ini terdiri dari atas kritik sastra, retrotika, dan estetika.
B.
Logika Tradisional dan Logika Modern
Logika
modern atau logika simbolik, Karena menggunakan tanda-tanda atau symbol-simbol
matematik, hanya sanggup membahas hubungan antara tanda-tanda itu, padahal
realitas tak mungkin dapat ditangkap sepenuhnya dan setepat-tepatnya oleh
symbol-simbol matematik.
Logika
tradisoinal membahas dan mempersoalkan definisi, konsep, dan term menurut
struktur, susunan dan nuansanya, serta seluk-beluk penalaran untuk memperoleh
kebenaran yang lebih susuai dengan realitas.
C.
Kegunaan Logika
Ada
empat kegunaan logika :
1.
Membantu setiap orang yang mempelajari logika untuk berpikir secara rasional,
kritis, lurus, tepat, tertib, metodis, dan koheren.
2.
Meningkatkan kemampuan berpikir secara abstrak, cermat, dan objektif.
3.
Menambah kecerdasa dan meningkatkan kemampuan berpikir secara tajam dan
mandiri.
4.
Meningkatkan cinta akan keberanian dan menghindari kekeliruan kesesatan.
ALGORITMA
Pengertian Algoritma
Pengertian
algoritma adalah suatu urutan dari beberapa langkah yang logis guna
menyelesaikan masalah. Pada saat kita memiliki masalah, maka kita harus dapat
untuk menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang
logis. Contoh dari algoritma sederhana dalam kehidupan nyata adalah pada saat
memasak air. Hal-hal yang perlu dilakukan untuk memasak air seperti berikut :
siapkan panci, masukkan air secukupnya ke dalam panci, tutup panci tersebut,
letakkan panci tersebut di atas kompor, hidupkan kompor dengan api sedang,
apabila air sudah mendidih, matikan kompor, setelah itu angkat panci tersebut
dari kompor. Langkah-langkah untuk memasak air tersebut merupakan algoritma
memasak air. Sehingga memiliki urutan langkah-langkah yang logis
Dalam
ilmu matematika dan komputer, pengertian algoritma merupakan prosedur dari
beberapa langkah demi langkah untuk penghitungan. Algoritma dipakai untuk
penghitungan, penalaran otomatis, dan pemrosesan data. Pengertian algoritma
ialah suatu metode yang efektif diekspresikan sebagai rangkaian yang terbatas
dari beberapa instruksi yang telah dijelaskan dengan baik guna menghitung
sebuah fungsi. Susunan algoritma dimulai dari kondisi awal dan input awal,
instruksi tersebut mendeskripsikan komputasi yang apabila itu dieksekusi serta
diproses dengan melewati urutan-urutan kondisi terbatas yang terdefinisi dengan
baik, sehingga dapat menghasilkan output atau keluaran dan berhenti di kondisi
akhir yang telah ditentukan.
Pengertian
Algoritma Algoritma sangat diperlukan untuk mengolah data yang ada di komputer.
Dalam sistem komputer, pengertian algoritma ialah logika yang dibuat dengan
memakai software oleh para pembuat perangkat lunak untuk membuat software
tersebut menjadi lebih bagus. Algoritma berbeda dengan Logaritma. Perlu
diketahui juga bahwa logaritma adalah sebuah operasi di ilmu matematika guna
menghitung kebalikan eksponen dari sebuah perpangkatan.
Kata
Algoritma ditemukan oleh Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi, beliau
merupakan matematikawan yang berasal dari Persia yang ditemukan pada Abad Ke 9.
Dari masa ke masa, kata algoritma mulai berkembang di abad ke 18.
Untuk
lebih jelasnya lagi, berikut salah satu contoh algoritma :
Algoritma
untuk menghitung nilai x dari persamaan x = 17y + 9 :
1)
Memulai
2)
Menentukan nilai y
3)
Menghitung nilai x = 17y + 9
4)
Menyelesaikan
Bentuk Dasar Algoritma
Algoritma
sendiri mempunyai tiga 3 bentuk dasar, antara lain :
a.
Algoritma Sekuensial (Sequence Algorithm)
Sequence
algorithm atau algoritma sekuensial merupakan algoritma yang langkah-langkahnya
secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini salah
satu contohnya seperti algoritma memasak air. Langkah demi langkah yang
dijalankan harus urut dari atas sampai bawah.
b.
Algoritma Perulangan (Looping Algorithm)
Looping algorithm atau algoritma
perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu
secara berulang-ulang atau looping. Pada masalah yang kita hadapi, ada pula
sebuah langkah yang harus kita lakukan secara berulang-ulang. Contoh dari
algoritma looping ini adalah algoritma menjemur pakaian:
1)
Siapkan jemuran.
2)
Ambil satu pakaian yang nantinya akan dijemur.
3)
Peras pakaian tersebut terlebih dahulu.
4)
Letakkan pakaian tersebut pada tiang jemuran.
5)
Ulangi langkah dari 2 sampai 4 hingga pakaian habis.
Dari
algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus
dilakukan secara berulang-ulang hingga pakaian habis.
c.
Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
Conditional algorithm atau algoritma
bersyarat merupakan algoritma yang menjalankan langkah berikutnya apabila
terdapat syarat yang sudah dapat dipenuhi. Berikut salah satu contoh dari
algoritma bersyarat :
1)
Siapkan panci.
2)
Masukkan air secukupnya ke dalam panci.
3)
tutup panci tersebut.
4)
letakkan panci tersebut di atas kompor.
5)
Hidupkan kompor.
6)
Apabila air sudah mendidih, lalu matikan kompor.
7)
Angkat panci tersebut dari kompor.
Algoritma
bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air
sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum
mendidih, maka kompor tidak dimatikan.
Merancang
Algoritma yang Baik
Menurut
Donald E. Knuth, dari pengertian algoritma diatas dapat diketahui bahwa sebuah
algoritma yang baik yaitu algoritma yang mempunyai kriteria sebagai berikut :
Masukan
(Input)
Algoritma
mempunyai input 0 (nol) atau lebih
Keluaran
(Output)
Algoritma
harus menghasilkan atau mengeluarkan minimal 1 output. Terbatas (Finite)
Algoritma
harus berhenti setelah melakukan langkah-langkah yang diperlukan. Pasti
(Definite)
Algoritma
harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas.
Setiap langkah-langkah harus dijelaskan dengan jelas.
Efisien
Membuat
sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1 + 0
tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka
hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak
perlu dimasukkan ke dalam sebuah algoritma.
Algoritma
dapat disajikan ke dalam 2 bentuk, yaitu bentuk tulisan atau bahasa dan bentuk
gambar. Penyajian algoritma dalam bentuk bahasa atau tulisan harus memakai
sebuah bahasa yang dapat untuk dimengerti manusia dalam membuat langkah-langkah
dari algoritma itu sendiri. Penyajian algoritma dalam bentuk tulisan/bahasa
dapat dilakukan dengan memakai pseudocode. Pseudocode berasal dari
"pseudo" aritnya "menyerupai atau mirip" dan "code"
yaitu "kode program". Contoh dari beberapa bahasa pemrograman yang
sering digunakan untuk menyatakan pseudocode antara lain : pascal, BASIC,
Pascal, C, dan lain sebagainya. Terdapat juga penyajian algoritma yang dalam
bentuk gambar disebut flow chart.
Klasifikasi
Algoritma
Salah
satu cara untuk mengklasifikasikan algoritma yaitu dengan menggunakan cara
implementasi.
1
Rekursi atau iterasi
Algoritma
rekursi ialah suatu algoritma yang memanggil dirinya sendiri secara berulang
kali (looping) hingga pada kondisi tertentu dapat tercapai. Rekursi merupakan
suatu metode umum dalam pemrograman fungsional. Algoritma iteratif memakai
konstruksi berulang seperti pada pengulangan dan terkadang terdapat struktur
data tambahan. Beberapa permasalahan secara alami dapat cocok dengan 1
implementasi atau yang lainnya. Contohnya: Menara Hanoi yang dikenal dengan
implementasi rekursif. Pada setiap versi rekursif mempunyai adanya kesamaan
(bisa lebih ataupun kurang kompleks) dengan versi iteratif, ataupun sebaliknya.
2
Logical
Algoritma
dapat dilihat sebagai sebuah logika deduksi terkontrol. Pernyataan ini dapat
diekspresikan sebagai: Algoritma = kontrol + logika. Komponen logika yang
mengekspresikan aksioma dapat digunakan dalam komputasi serta komponen kontrol
dalam menentukan cara-cara deduksi yang digunakan pada aksioma. Hal tersebut
adalah dasar dari paradigma pemrograman logika. Dalam pemrograman, logika murni
komponen kontrol ialah tetap serta algoritma yang ditentukan dengan memberikan
hanya ada komponen logikanya. Daya tarik dari pendekatan logical ialah semantik
elegan, sebuah perubahan yang ada dalam aksioma mempunyai perubahan dalam
algoritma.
3
Serial, paralel atau terdistribusi
Pada
umumnya, suatu algoritma menjalankan satu instruksi algoritma setiap waktu.
Komputer tersebut dapat disebut dengan komputer serial. Rancangan algoritma
yang digunakan bagi lingkungan tersebut ialah algoritma serial, terbalik dengan
algoritma terdistribusi atau algoritma paralel. Algoritma paralel menggunakan
arsitektur komputer yang mana terdapat prosesor-prosesor dapat mengerjakan
masalah pada waktu yang sama. Sedangkan algoritma terdistribusi menggunakan
banyak mesin yang terhubung ke jaringan. Algoritma terdistribusi atau paralel
membagi permasalahan ke banyak submasalah simetris maupun asimetris dan
mengumpulkan hasil yang didapat kembali. Konsumsi dari sumber pada algoritma
tersebut tidak hanya ada perputaran prosesor tapi juga terdapat daya komunikasi
antara prosesor. Algoritma pengurutan dapat untuk diparalelkan secara efisien, namun
terdapat biaya komunikasi yang sangat mahal. Algoritma iteratif pada umumnya
dapat untuk diparalelkan. Ada juga permasalah yang tidak ada algoritma
paralelnya, disebut dengan permasalahan serial lahiriah.
4
Deterministik atau non-deterministik
Terdapat
juga algoritma determministik dan non-determenistik. Algoritma deterministik
dapat menyelesaikan masalah-masalah dengan keputusan tepat disetiap
langkah-langkah dari sebuah algoritma. Algoritma non-deterministik dapat
menyelesaikan masalah-masalah lewat adanya penerkaan walaupun penerkaan
tersebut pada umumnya lebih akurat dengan memakai heuristik.
5
Tepat atau perkiraan
Jika
terdapat banyak algoritma dapat sampai ke solusi yang tepat, ada juga algoritma
perkiraan yang mencari perkiraan terdekat dengan solusi benarnya. Perkiraan
tersebut dapat memakai strategi deterministik ataupun acak. Algoritma yang
seperti itu dapat mempunyai nilai lebih untuk banyak permasalahan yang sulit.
6
lgoritma quantum
Berjalan
pada model realistik dari komputasi quantum. Istilah tersebut pada umumnya
dipakai bagi algoritma yang pada dasarnya quantum, ataupun memakai fitur-fitur
penting dari komputasi quantum seperti belitan quantum atau superposisi
quantum.
Contoh Algoritma
1 Menentukan Apakah
Bilangan Tersebut Ganjil atau Genap
Terdapat
bilangan yang bernama bilang bulat yaitu 0, 1, -1, 2, dst serta bilangan asli
1, 2, 3, 4, 5, dst. Kedua jenis bilangan tersebut sering digunakan dalam
berhitung. Himpunan bilangan-bilangan bulat dalam buku teks aljabar pada
umumnya dinyatakan dengan lambang "Z" dan himpunan bilangan-bilangan
asli dinyatakan dengan lambang "N". Algoritma guna menentukan apakah
bilangan tersebut ganjil atau genap dapat disajikan dengan flowchart seperti
dibawah ini :
Bilangan
genap merupakan sebuah bilangan bulat yang akan habis atau tidak memiliki sisa
jika dibagi 2 (dua). Bilangan ganjil merupakan sebuah bilangan bulat yang tidak
akan habis apabila dibagi 2 (dua).
2.Menghitung Keliling
dan Luas Lingkaran
Lingkaran
merupakan suatu himpunan dari semua titik-titik pada bidang dalam jarak yang
tertentu dan disebut dengan jari-jari dari titik tertentu dan dapat disebut
titik pusat. Lingkaran merupakan contoh dari kurva tertutup sederhana,
lingkaran membagi bidang menjadi bagian luar dan dalam. Algoritma menghitung
keliling serta luas lingkaran dapat disajikan dengan flowchart seperti dibawah
ini :
3 Menampilkan Bilangan
Ganjil Diantara 10 sampai 30
Bilangan
ganjil yang terletak diantara 10 dan 30 11,13,15, dan seterusnya. Namun, yang
akan ditampilkan kecuali bilangan 21 dan 27. Jadi output yang diharapkan dari
algoritma tersebut adalah bilangan ganjil 10 sampai 30 kecuali bilangan 21 dan
27. Algoritma untuk menampilkan bilangan ganjil antara 10 hingga 30 kecuali
bilangan 21 dan 27 disajikan dengan flowchart dibawah ini :
4 Algoritma tahun
Kabisat
Terdapat
juga algoritma tahun kabisat. Tahun kabisat merupakan sebuah tahun yang
memiliki tambahan 1 hari dan bertujuan agar kalender dapat sinkron dengan musim
tahunan dan keadaan astronomi. Bulan Februari memiliki 29 hari pada saat tahun
kabisat. Tahun yang dapat untuk dibagi dengan 4 adalah tahun kabisat. Algoritma
guna menentukan tahun kabisat jika disajikan dengan flowchart seperti dibawah
ini :
5. Menampilkan Bilangan
Genap Mullai dari Angka 2 sampai n, Kecuali Bilangan Genap yang Kelipatan 4
Bilangan
genap merupakan sebuah bilangan-bilangan bulat yang habis jika dibagi 2. Deret
yang ditampilkan dari algoritma kali ini merupakan deret dari bilangan genap
dari 2 hingga ke n kecuali bilangan yang merupakan kelipatan 4. Algoritma
tersebut dapat digambarkan dengan flowchart seperti dibawah ini :
6 Menghitung Harga yang
Dibayar Setelah Mendapatkan Sebuah Diskon
Ada
juga algoritma yang dapat menghitung jumlah dari biaya yang harus dibayar oleh
sang pembeli setelah mendapatkan sebuah diskon 10% dengan syarat jumlah dari
total pembelian tersebut Rp.1.500.000,- Algoritma guna menghitung besaran biaya
tersebut dapat digambarkan dengan flowchart seperti dibawah ini :
Jumlah
barang memiliki sifat yang dinamik sesuai dengan input atau masukkan dari user.
Apabila jumlah total dari harga tersebut kurang 1500000 maka tidak mendapatkan
sebuah diskon.
7 Mencari Maks dan Min
dari suatu Deret Bilangan
Terdapat
juga sebuah algoritma guna mencari nilai maks serta min dari suatu n deret
bilangan yang dimasukkan atau diinput oleh user. Algoritma tersebut dapat
disajikan dengan flowchart seperti dibawah ini :
8 Kalkulator Sederhana
dari 2 Bilangan
Terdapat
sebuah algoritma sebagai kalkulator sederhana untuk operasi penjumlahan,
perkalian, pembagian, dan pengurangan. Kalkulator sederhana ini hanya dapat
melakukan perhitungan dari 2 bilangan yang diinput oleh user. Algoritma guna
menghitung 2 bilangan dapat digambarkan dengan flowchart seperti dibawah ini :
9 Menghitung Beberapa
Angka dari Suatu Bilangan
Pada
flowchart kali ini mengenai sebuah algoritma untuk menghitung beberapa angka
dari suatu bilangan yang dimasukkan atau diinput oleh user. Berikut flowchart
algoritma tersebut :
10 Membalik Sebuah
Kalimat
Seperti
yang kita ketahui sebelumnya tentang pengertian algoritma, bahwa algoritma juga
dapat untuk menampilkan sebuah kalimat namun dengan urutan yang terbalik.
Misalkan "woocara" dibalik menjadi "aracoow". Struktur data
yang digunakan ialah Stack. Untuk membalik sebuah bilangan, huruf dari kalimat
kita input dalam stack dengan menggunakan metode Push. Setelah stack tersebut
sudah terisi, maka output kembali dengan memakai metode Pop. Pada algoritma
membalik sebuah kalimat, adanya penggunaan struktur data stack
diimplementasikan ke array. Dalam implementasinya ke array tersebut, kita harus
terlebih dahulu menyiapkan sebuah array dengan memiliki panjang yang sama
dengan jumlah huruf yang ada dalam kalimat yang akan dibalik tersebut. Pada
gambar flowchart dibawah ini, terdapat tiap huruf dari kalimat yang diinput
pada array dengan index ke-0 hingga ke-n dengan memakai metode push.
Kemudian
huruf tersebut akan mengeluarkan kata mulai dari index ke-n hingga index ke-0.
Itulah
pengertian algoritma, bentuk dasar algoritma, klasifikasi algoritma, dan contoh
algoritma. Algoritma sangat diperlukan untuk mengolah data yang ada di
komputer.