RESUME BERPIKIR KOMPUTASI
1. STRUKTUR DATA
Struktur data adalah cara menyimpan, mengambil, dan menyusun data. Struktur data memungkinkan data yang ada di komputer lebih mudah diakses dan diperbarui.
Fondasi setiap program komputer adalah data dan algoritma. Dengan algoritma, program komputer bisa menggunakan data secara efektif. Sementara struktur data ibarat kontainer yang menyimpan banyak data dengan layout tertentu. Tiap jenis struktur data memiliki layout masing-masing.
Dikarenakan memori komputer terbatas, layout (tata letak) data harus diatur dengan baik. Oleh sebab itu, penyimpanan data membutuhkan “formasi” khusus agar data lebih rapi dan tidak menghabiskan banyak memori.
Berikut analogi yang lebih sederhana untuk struktur data.
2. TREE DATA
In computer science, a tree is a widely used abstract data type that represents a hierarchical tree structure with a set of connected nodes. Each node in the tree can be connected to many children (depending on the type of tree), but must be connected to exactly one parent,[1] except for the root node, which has no parent (i.e., the root node as the top-most node in the tree hierarchy). These constraints mean there are no cycles or "loops" (no node can be its own ancestor), and also that each child can be treated like the root node of its own subtree, making recursion a useful technique for tree traversal. In contrast to linear data structures, many trees cannot be represented by relationships between neighboring nodes (parent and children nodes of a node under consideration, if they exist) in a single straight line (called edge or link between two adjacent nodes).
Binary trees are a commonly used type, which constrain the number of children for each parent to at most two. When the order of the children is specified, this data structure corresponds to an ordered tree in graph theory. A value or pointer to other data may be associated with every node in the tree, or sometimes only with the leaf nodes, which have no children nodes.
The abstract data type (ADT) can be represented in a number of ways, including a list of parents with pointers to children, a list of children with pointers to parents, or a list of nodes and a separate list of parent-child relations (a specific type of adjacency list). Representations might also be more complicated, for example using indexes or ancestor lists for performance.
3. GRAPH DATA
In computer science, a graph is an abstract data type that is meant to implement the undirected graph and directed graph concepts from the field of graph theory within mathematics.
A graph data structure consists of a finite (and possibly mutable) set of vertices (also called nodes or points), together with a set of unordered pairs of these vertices for an undirected graph or a set of ordered pairs for a directed graph. These pairs are known as edges (also called links or lines), and for a directed graph are also known as edges but also sometimes arrows or arcs. The vertices may be part of the graph structure, or may be external entities represented by integer indices or references.
A graph data structure may also associate to each edge some edge value, such as a symbolic label or a numeric attribute (cost, capacity, length, etc.).
4. 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".[1]
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.[2]
Sebagai metode yang efektif, algoritma dapat diekspresikan dalam jumlah ruang dan waktu yang terbatas,[3] dan dalam bahasa formal yang terdefinisi dengan baik[4] untuk menghitung suatu fungsi.[5] Dimulai dari tataran awal dan input awal (bisa jadi kosong),[6] instruksi-instruksi yang ada menggambarkan sebuah komputasi yang, ketika dieksekusi, berjalan melalui sejumlah tataran dengan jumlah terhingga yang terdefinisi dengan baik,[7] yang pada akhirnya menghasilkan "output"[8] 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.[9]
5. PENGERTIAN ALGORITMA MENURUT PARA AHLI
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.
Itulah pengertian algoritma dari beberapa ahli, mulai dari ahli matematika yang pertama kali memperkenalkan algoritma hingga seorang pakar kecerdasan buatan. Dengan demikian, bisa dibilang algoritma ini merupakan salah satu cara atau metode yang digunakan untuk menyelesaikan suatu masalah dengan langkah-langkah atau tahapan-tahapan logis dan sistematis.
6. EXPRESI LOGIKA
Ekspresi | Arti |
---|---|
X .AND. Y X .OR. Y X .NEQV. Y X .XOR. Y X .EQV. Y .NOT. X | Keduanya Xdan Ybenar. Salah satu Xatau Ykeduanya benar. Xdan Ytidak keduanya benar dan tidak keduanya salah. Salah satu Xbenar Y, tapi tidak keduanya. Xdan Ykeduanya benar atau keduanya salah. Negasi logis. |
Berikut ini adalah sintaks untuk penugasan nilai ekspresi logika ke variabel logika:
v = t | |
---|---|
Bahasa Inggris: | Ekspresi logika, bilangan bulat antara -128 dan 127, atau konstanta karakter tunggal |
kita | Variabel logika, elemen array, atau bidang rekaman |
Eksekusi pernyataan penugasan logis menyebabkan evaluasi ekspresi logis e dan penugasan nilai yang dihasilkan ke v . Jika e adalah ekspresi logis, bukan bilangan bulat antara -128 dan 127, atau konstanta karakter tunggal, maka e harus memiliki nilai benar atau salah.
Ekspresi logika dengan ukuran berapa pun dapat ditetapkan ke variabel logika dengan ukuran berapa pun.
Menetapkan angka ke angka logika diperbolehkan. (Semua nilai bukan nol diperlakukan sebagai .TRUE. , dan nol dianggap .FALSE. ) Namun, praktik ini tidak standar dan tidak dapat dipindahtangankan.
7. OPERASI LOGIKA
Komentar
Posting Komentar