Memahami Logika dan Algoritma Komputer
Assalamualaikum, Wr.Wb, salam sejahtera untuk kita semua,
Pada kesempatan Bab 1 kali ini, kita akan mempelajari tentang pengertian logika, mungkin kamu pernah mendengar istilah arti logika, dan Algoritma. Kita sama-sama ketahui bahwa manusia adalah mahluk paling mulia, sebab dianugerahi berbagai kelebihan yang tidak diberikan kepada semua mahluk selain manusia. Salah satu kelebihan tersebut karena manusia diberikan akal pikiran (logika), sehingga dapat memilih hal yang benar dan bermanfaat, serta meninggalkan yang tidak bermanfaat (mudarat).
Berdasarkan keilmuan bahwa istilah Logika berasal dari bahasa Yunani yaitu “logos” yang berarti ilmu. Artinya saat kita memiliki masalah, maka kita harus dapat menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis. Intinya logika adalah ilmu yang mengarahkan cara berpikir untuk melakukan kegiatan dengan tujuan tertentu dan berkaitan erat dengan algoritma.
Apa perbedaan Logika dan Algoritma ?
Sebenarnya Logika dan Algoritma merupakan kesatuan yang tidak dapat dipisahkan karena keduanya saling berkaitan. Logika adalah bentuk penalaran atau pemikiran, sedangkan Algoritma adalah suatu urutan dari barisan langkah-langkah atau instruksi untuk menyelesaikan suatu masalah. Pengertian logika dan algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah.
Ternyata Istilah Algoritma berasal dari nama Ilmuwan Arab yang bernama Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi yaitu penulis buku “Al Jabar Wal Muqabala”. Kata Al Khawarizmi dibaca oleh orang barat menjadi Algorism, kemudian lambat laun menjadi Algorithm Dan diserap ke dalam bahasa Indonesia menjadi Algoritma.
Baik setelah memahami belajar Pengertian Logika dan Algoritma, sekarang kita akan mempelajari apa saja yang menjadi Manfaatnya & Tujuannya.
Berikut adalah Manfaat Belajar Logika diantaranya :
- Mendorong untuk berpikir sendiri dan mandiri
- Meningkatkan cara berpikir dengan nalar yang baik.
- Mampu berpikir sesuai waktu dan tempat yang pas
- Mampu menganalisa suatu kejadian dengan sistematis
- Meningkatkan kemampuan secara objektif dan format.
- Membuat seseorang mampu berpikir sesuai kebenaran dan realita
- Menambah kecerdasan dan meningkatkan keahlian berpikir mandiri
- Membentuk cara berpikir secara logika yaitu lurus, kritis, rasional, ketat, tertib, dan metodis.
Dari literatur yang lain berikut penulis tambahkan tentang manfaat dari belajar logika:
Beberapa manfaat yang akan didapatkan setelah mempelajari logika antara lain sebagai berikut.
- Menjaga supaya kita selalu berpikir benar menggunakan asas-asas sistematis.
- Membuat daya pikir menjadi lebih tajam, dan menjadikannya lebih berkembang.
- Membuat setiap orang berpikir cermat, objektif, dan efektif dalam berkomunikasi.
- Meningkatkan cinta kebenaran dan menghindari kesesatan bernalar.
- Salah satu fungsi logika adalah sebagai alat untuk menarik kesimpulan. Kita dapat menggunakan alat ini setelah melakukan penalaran berdasarkan pernyataan-pernyataan benar (premis) yang ada. Penalaran untuk penarikan kesimpulan dibedakan menjadi dua jenis yaitu pola nalar deduktif dan induktif.
Deduktif
Penarikan kesimpulan yang bergerak dari pernyataan benar yang umum ke khusus.
Contoh:
Umum Semua siswa SMK harus disiplin dan bertanggung jawab.
Khusus Sandi adalah siswa SMK.
Kesimpulan: Sandi harus disiplin dan bertanggung jawab.
b. Induktif
Penarikan kesimpulan yang bergerak dari pernyataan benar yang khusus ke umum.
Contoh:
Khusus Devi rajin belajar, dia mendapat hasil yang memuaskan.
Khusus Yuda rajin belajar, dia mendapat hasil yang memuaskan.
Khusus Tika rajin belajar, dia mendapat hasil yang memuaskan.
Kesimpulan: Siswa yang rajin belajar akan mendapatkan hasil yang memuaskan.
Sedangkan Tujuan Belajar Algoritma adalah
- Memperluas space berpikir.
- Membantu otak agar berpikir panjang.
- Memperkuat analisis ketika pembuatan program.
- Tidak tergantung pada bahasa pemrograman mana pun.
- Memperkuat cara berpikir kita untuk menyelesaikan suatu masalah.
- Notasi algoritma dapat diterjemahkan pada bahasa pemrograman mana pun.
Algoritma sendiri memiliki Sifat-Sifat.
jika memiliki berikut ini adalah enam sifat Algoritma bisa dikatakan baik jika:
- Algoritma memiliki input atau kondisi awal sebelum dilaksanakan
- Menciptakan output setelah dilakukan.
- Metode dalam algoritma terdefinisikan dengan jelas dan mudah digunakan.
- Suatu algoritma harus mempunyai kondisi output atau akhir, setelah sejumlah langkah yang terbatas jumlahnya yang dilakukan terhadap setiap kondisi awal atau input telah diberikan.
- Langkah dalam permasalahan dilaksanakan dalam waktu tertentu, hingga pada akhirnya mendapat solusi sesuai dengan yang diharapkan.
- Metode algoritma berlaku untuk setiap himpunan masukkan yang sesuai dengan persoalan yang diberikan.
Ciri-Ciri Algoritma
Adapun ciri-ciri algoritma sebagai berikut :
- Memiliki awal dan akhir (terbatas).
- Tidak memiliki arti ganda dan tidak membingungkan (tidak ambigu).
- Memiliki input.
- Memiliki output.
- Harus efektif (bisa menyelesaikan persoalan).
Algoritma disajikan dalam bentuk tulisan/bahasa dan dalam bentuk gambar. Selain itu algoritma dalam bentuk tulisan haruslah menggunakan bahasa yang dapat dimengerti manusia dalam menyajikan langkah-langkah algoritma. Penyajian algoritma dalam bentuk tulisan juga dapat dilakukan menggunakan pseudocode.
Istilah Pseudocode berasal dari kata pseudo yang berarti “mirip atau menyerupai” dan code yang berarti “kode program”. Contoh bahasa pemrograman yang digunakan untuk menyatakan pseudocode ialah BASIC, Pascal, C, dan lain-lain. Sedangkan, penyajian algoritma dalam bentuk gambar sering disebut flowchart.
Algoritma adalah serangkaian langkah-langkah yang disusun menjadi urutan logis kegiatan untuk mencapai tujuan.
Berikut adalah contoh dari Algoritma :
Budi adalah seorang siswa SMK kelas X. Setiap hari dia pergi ke sekolah setelah melakukan sarapan. Pada suatu hari, ketika Dina akan sarapan, yang tersedia hanya nasi tanpa sayur dan lauk. Kemudian terpikir oleh Dina untuk membuat tumis tauge tempe dengan langkah-langkah sebagai berikut
- Siapkan tauge, tempe, cabe, bawang merah, bawang putih, lengkuas, dan bahan lain yang diperlukan.
- Iris bawang merah, bawang putih, cabai, dan lengkuas.
- Panaskan minyak dan masukkan semua irisan bahan.
- Goreng tempe sebentar.
- Tambahkan tauge, kecap manis, garam, dan sedikit air.
- Aduk hingga semua bumbu meresap.
- Cicipi rasanya. Jika terdapat rasa yang kurang tambahkan bumbu lain secukupnya.
- Tumis tauge siap dihidangkan.
Jenis-Jenis Algoritma
Berikut ini terdapat beberapa jenis-jenis algoritma, terdiri atas:
- Divide and Conquer
Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
- Dynamic programming
Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal, dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
- Metode serakah
Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari sub masalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
- Sistem Flowchart
Metode flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Sistem flowchart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.
- Pseudocode (Kode Semu)
Pseudocode (kode semu) merupakan metode yang cukup efisien untuk menggambarkan suatu algoritma. Pseudo Code dituliskan dengan menggunakan bahasa yang mudah dipahami misalnya menggunakan bahasa Indonesia, agar alur logika yang digambarkan dapat dimengerti oleh orang awam sekalipun.
Selain itu Flowchart Pseudocode (kode semu) disusun dengan tujuan untuk menggambarkan tahap-tahap penyelesaian suatu masalah dengan kata-kata (teks). Sebenarnya metode ini mempunyai kelemahan, dimana penyusunan algoritma dengan kode semu sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kadang sulit dipahami oleh orang lain.
Struktur dasar algoritma dibagi menjadi 3 bagian sebagai berikut:
- Pengulangan (Repetition)
Struktur dasar algoritma yang ketiga adalah pengulangan atau repetition, artinya kasus-kasus pemecahan masalah dalam algoritma maupun bahasa pemrograman biasanya tidak akan lepas dari kasus-kasus yang membutuhkan pengulangan.
Pada algoritma sendiri untuk mengatasi kasus pengulangan data, memiliki instruksi tersendiri, dengan instruksi tersebut pengulangan akan lebih mudah ditulis secara singkat dan praktis daripada harus ditulis satu-persatu. Selain itu dengan struktur ini, bisa menentukan bagaimana instruksi harus ditulis, instruksi mana yang harus didahulukan dan instruksi mana yang harus diakhirkan.
Contoh: dalam kasus di algoritma yang membua sebuah data harus diulang beberapa kali,misalnya untuk kasus mencetak (print) angka 1 sampai 5.
- Pemilihan (Selection)
Pada umumnya instruksi algoritma setidaknya akan mengandung pemilihan, atau selection, instruksi ini akan muncul apabila ada kasus yang memiliki 2 atau lebih alternatif penyelesaian. Misalkan untuk kasus menyalakan komputer. Langkah-langkah cara menyalakan komputer sebenarnya sangat mudah, namun pada prosesnya bisa terjadi 2 atau lebih alternatif penyelesaian.
Contoh:
Langkah 1: colokkan kabel listrik
Langkah 2: tekan tombol power casing
Langkah 3: jika setelah tombol power di tekan computer mati,maka periksa listirk atua periksa kabel, jika computer nyala, lanjtukan ke Langkah selanjutnya.
- Runtunan (Sequence)
Sequence atau runtunan dalam struktur algoritma adalah instruksi-instruksi dalam algoritma yang diproses secara berurutan langkah demi langkah dari awal sampai akhir dimulai dari langkah pertama hingga langkah terakhir.
Dalam bahasa pemrograman, ketika instruksi bahasa pemrograman yang kita tulis diproses oleh komputer, maka komputer akan memproses dan menterjemahkan bahasa pemrograman tersebut secara berurutan dari awal hingga akhir dimulai dari instruksi pada baris pertama hingga baris terakhir.
Dengan struktut runtunan ini, akan menerntukan bagimana instruksi harus di tulis, contoh:
(5+3)x7=56, akan tetapi bila urutan aksinya dirubah maka hasil keluaranya akan berbeda, menjadi 5+(3×7)=26.
Demikianlah pembahasan bab 1 tetang logika dan Al-Goritma, semoga anak-anaku dari materi ini bisa memahaminya.
Untuk memahami lebih dalam lagi silahakan anak2ku untuk mengerjakan tugas Mandiri, dilahkan kerjakan di LMS SMKN 22 JAKARTA. Klik disini