Berpikir Komputasi
Struktur data
Dalam istilah ilmu komputer, struktur data adalah cara menyimpan dan mengatur data secara terstruktur pada sistem komputer atau pangkalan data (database) sehingga lebih mudah diakses. Secara teknis, data dalam bentuk angka, huruf, simbol, dan lainnya ini diletakkan dalam kolom-kolom dan susunan tertentu. Contoh struktur data dapat dilihat pada berkas-berkas lembar sebar (spreadsheet), pangkalan data, pengolah kata, citra yang dipampat (compressed image), dan pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang terlihat oleh pengguna ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak terlihat oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan basis data (misalnya untuk keperluan data keuangan) atau untuk pengolah kata yang kolomnya berubah secara dinamis.
Tree Data
Tree Data adalah struktur hierarkis yang digunakan untuk merepresentasikan dan mengatur data dengan cara yang mudah dinavigasi dan dicari. Struktur ini merupakan kumpulan node yang dihubungkan oleh tepi dan memiliki hubungan hierarkis antar node.
Node teratas dari pohon disebut akar, dan node paling bawah disebut node anak. Setiap node dapat memiliki beberapa node anak, dan node anak ini juga dapat memiliki node anak sendiri, sehingga membentuk struktur rekursif.
Graph Data
Graph adalah tipe data abstrak yang dimaksudkan untuk mengimplementasikan konsep grafik tak berarah dan grafik berarah dari bidang teori grafik dalam matematika.
Struktur data grafik terdiri dari sekumpulan titik (yang mungkin bisa berubah) yang terbatas (juga disebut node atau titik ), bersama dengan sekumpulan pasangan titik yang tidak berurutan untuk grafik yang tidak berarah atau sekumpulan pasangan berurutan untuk grafik berarah. Pasangan ini dikenal sebagai edge (juga disebut link atau garis ), dan untuk grafik berarah juga dikenal sebagai edge tetapi terkadang juga disebut arrow atau arcs. Titik dapat menjadi bagian dari struktur grafik, atau dapat menjadi entitas eksternal yang direpresentasikan oleh indeks atau referensi integer.
Algoritma
Dalam matematika dan ilmu komputer, algoritma adalah rangkaian terbatas dari instruksi-instruksi yang rumit, yang biasanya digunakan untuk menyelesaikan atau menjalankan suatu kelompok masalah komputasi tertentu. Algoritma digunakan sebagai spesifikasi untuk melakukan perhitungan dan pemrosesan data. Algoritma yang lebih mutakhir dapat melakukan deduksi otomatis (disebut sebagai penalaran otomatis) dan menggunakan tes matematis dan logis untuk mengarahkan eksekusi kode melalui berbagai rute (disebut sebagai pengambilan keputusan otomatis). Penggunaan karakteristik manusia sebagai deskriptor mesin secara metaforis telah dipraktekkan oleh Alan Turing dengan terminologi seperti "memory", "search" dan "stimulus".
Sebaliknya, heuristika adalah pendekatan untuk pemecahan masalah komputasi yang mungkin tidak sepenuhnya terspesifikasi atau tidak menjamin hasil yang benar atau optimal, terutama dalam ranah masalah komputasi yang mana tidak ada hasil yang benar atau optimal yang terdefinisi dengan baik.
Sebagai metode yang efektif, algoritma dapat diekspresikan dalam jumlah ruang dan waktu yang terbatas, dan dalam bahasa formal yang terdefinisi dengan baik untuk menghitung suatu fungsi. Dimulai dari tataran awal dan input awal (bisa jadi kosong), instruksi-instruksi yang ada menggambarkan sebuah komputasi yang, ketika dieksekusi, berjalan melalui sejumlah tataran dengan jumlah terhingga yang terdefinisi dengan baik, yang pada akhirnya menghasilkan "output" dan berakhir pada tataran final akhir. Transisi dari satu tataran ke tataran berikutnya tidak selalu bersifat menentukan; beberapa algoritma, yang dikenal sebagai algoritma acak, menggabungkan input acak.
Definisi Algoritma
Beberapa ahli juga mengungkapkan atau memberikan pengertian dari algoritma. Di bawah ini akan dijelaskan beberapa pengertian algoritma dari beberapa ahli.
1. Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi.
Pada dasarnya, istilah algoritma itu sendiri pertama kali diperkenalkan oleh seorang ilmuwan matematika sekitar tahun 825 Masehi dan ia bernama Abu Ja’far Muhammad Ibn Musa Al Khwarizmi. Istilah algoritma berada di dalam buku yang ditulis oleh beliau dengan judul Al-Jabr Wa-al Muqabla.
Abu Ja’far Muhammad Ibn Musa Al Khwarizmi mengatakan bahwa algoritma adalah sebuah cara atau metode khusus yang dapat digunakan untuk menyelesaikan satu atau beberapa masalah.
2. Marvin Minsky.
Marvin Minsky merupakan seorang ahli Artificial Intelligence (AI) atau kecerdasan buatan berpendapat bahwa algoritma adalah suatu perangkat yang berbentuk aturan yang dapat menginformasikan kepada kita dari satu waktu ke waktu lainnya dan informasi yang diberikan merupakan bagaimana cara untuk bertindak. Algoritma yang diungkapkan oleh Marvin Minsky sebenarnya sudah bisa kita rasakan, ketika menggunakan sebuah perangkat pengingat, seperti smart watch.
3. Sismoro.
Menurut Sismoro, algoritma adalah sekumpulan instruksi atau langkah-langkah yang sudah dituliskan secara sistematis dan digunakan untuk menyelesaikan suatu persoalan atau suatu permasalahan matematika dan logika dengan bantuan komputer.
4. Seymour Lipschutz dan Marc Lipson.
Seymour Lipschutz dan Marc Lipson menyatakan bahwa algoritma adalah sebuah daftar yang berisi langkah demi langkah yang terhingga yang berasal dari berbagai macam perintah yang sudah dijelaskan supaya bisa digunakan untuk menyelesaikan atau memecahkan suatu permasalahan yang ada.
5. Kani.
Menurut Kani, algoritma adalah suatu usaha dengan sebuah urutan operasi yang sudah disusun secara sistematis dan logis dan dapat dimanfaatkan untuk menyelesaikan sebuah permasalahan demi menciptakan sebuah output tertentu.
6. S. E. Goodman dan S.T. Hedetniemi.
Menurut S. E. Goodman dan S.T. Hedetniemi, algoritma adalah suatu urutan atau susunan yang sifatnya terbatas dari berbagai operasi yang sudah bisa dijelaskan serta setiap operasi membutuhkan waktu dan memori yang terbatas untuk memecahkan suatu permasalahan tertentu.
7. Donald Ervin Knuth
Donald Ervin Knuth mengatakan bahwa algoritma adalah kumpulan aturan-aturan yang berhingga dan bisa memberikan serangkaian operasi agar dapat memecahkan suatu permasalahan yang sedang terjadi.
Ekspresi dan operasi logika
Ekspresi logika (juga disebut ekspresi Boolean) adalah hasil penerapan operator logika (Boolean) pada ekspresi relasional atau aritmatika. Hasil operasi memiliki dua kemungkinan status: benar atau salah. Ekspresi logika dianggap salah jika sama dengan 0, dan dianggap benar jika bukan nol.
Operator logika memiliki prioritas terendah dan dievaluasi setelah semua operasi lainnya dievaluasi. Jika dua atau lebih operator logika muncul dalam suatu ekspresi, operator paling kiri akan dilakukan terlebih dahulu.
Flowchart
Flowchart atau bagan alur adalah diagram yang menampilkan langkah-langkah dan keputusan untuk melakukan sebuah proses dari suatu program. Setiap langkah digambarkan dalam bentuk diagram dan dihubungkan dengan garis atau arah panah.
Flowchart berperan penting dalam memutuskan sebuah langkah atau fungsionalitas dari sebuah proyek pembuatan program yang melibatkan banyak orang sekaligus. Selain itu dengan menggunakan bagan alur proses dari sebuah program akan lebih jelas, ringkas, dan mengurangi kemungkinan untuk salah penafsiran. Penggunaan flowchart dalam dunia pemrograman juga merupakan cara yang bagus untuk menghubungkan antara kebutuhan teknis dan non-teknis.
Flowchart Dokumen
Flowchart dokumen (document flowchart) atau bisa juga disebut dengan paperwork flowchart. Flowchart dokumen berfungsi untuk menelusuri alur form dari satu bagian ke bagian yang lain, termasuk bagaimana laporan diproses, dicatat, dan disimpan.
Flowchart Data
Flowchart data adalah data menunjukkan cara informasi mengalir melalui suatu proses atau sistem. Ini mencakup input dan output data, penyimpanan data, dan berbagai subproses yang dilalui data. DFD dibangun menggunakan simbol dan notasi standar untuk menggambarkan berbagai entitas dan hubungannya.
Flowchart Sistem
Flowchart sistem adalah flowchart yang menampilkan tahapan atau proses kerja yang sedang berlangsung di dalam sistem secara menyeluruh. Selain itu flowchart sistem juga menguraikan urutan dari setiap prosedur yang ada di dalam sistem.
Flowchart Program
Flowchart ini menggambarkan secara rinci prosedur dari proses program. Flowchart program terdiri dari dua macam, antara lain: flowchart logika program (program logic flowchart) dan flowchart program komputer terinci (detailed computer program flowchart).
Simbol" Flowchart
Simbol-simbol di atas memiliki jenis dan fungsi yang berbeda-beda. Ada yang berfungsi untuk menghubungkan satu simbol dengan simbol lainnya seperti simbol flow, on-page dan off-page reference. Selain itu ada juga simbol yang berfungsi untuk menunjukan suatu proses yang sedang berjalan, dan yang terakhir terdapat simbol yang berfungsi untuk memasukan input dan menampilkan output.
Contoh Flowchart
Pertama pengguna menginput data yang berupa nilai dari bilangan bulat. Kemudian nilai yang dimasukan diproses dengan cara dibagi dengan angka 2. Jika sisa bagi sama dengan 0 berarti bilangan yang dimasukan adalah bilangan genap. Jika sisa bagi tidak sama dengan 0 berarti bilangan yang dimasukan adalah bilangan ganjil.
Komentar
Posting Komentar