Langsung ke konten utama

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).

This unsorted tree has non-unique values (e.g., the value 2 existing in different nodes, not in a single node only) and is non-binary (only up to two children nodes per parent node in a binary tree). The root node at the top (with the value 2 here), has no parent as it is the highest in the tree hierarchy.

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.

directed graph with three vertices (blue circles) and three edges (black arrows).

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 komputeralgoritma 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]

Diagram alur dari sebuah algoritma (Algoritma Euklides) untuk menghitung faktor persekutuan terbesar (f.p.b.) dari dua angka a dan b dalam lokasi bernama A dan B. Algoritma dijalankan dengan pengurangan berturut-turut dalam dua pengulangan: JIKA pengujian B >= A menghasilkan "ya" (atau benar) (lebih akuratnya angka b dalam lokasi B lebih besar atau sama dengan angka a dalam lokasi A) MAKA, algoritma menentukan B ← B - A (artinya angka b - a menggantikan b sebelumnya). Hal yang sama, JIKA A > B, MAKA A ← A - B. Proses tersebut berhenti saat (isi dari) B adalah 0, menghasilkan f.p.k. dalam A. (Algoritma tersebut diambil dari Scott 2009:13; simbol dan gaya penggambaran dari Tausworthe 1977).

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 

Operasi logika yang dimaksudkan adalah sebuah sebuah kombinasi variabel biner yang berupa masukan dan keluaran dari sebuah sistem rangkaian digital.

Di artikel ini tidak hanya dibagikan mengenai dasar operasi logika saja, How To Tekno juga akan berbagi operasi logika kombinasi yang juga penting untuk dipelajari.
8. FLOWCHART

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. 

Sebelum lanjut saya mau memberitahu sesuatu nih, kamu dapat memperdalam pengetahuan kamu mengenai flowchart di Dicoding loh. Materi ini dapat kamu temukan dan kamu pelajari di Memulai Dasar Pemrograman untuk Menjadi Pengembang Software.

9. FLOWCHART DOKUMEN

Berikut jenis-jenis flowchart yang kamu harus tahu:

Flowchart Dokumen. Diagram alir ini dibuat memang untuk pendokumentasian yang berisi prosedur administratif dan semacamnya. ...

Flowchart Sistem. ...

Flowchart Skematik. ...

Flowchart Proses. ...

Flowchart Program.

10. FLOWCHART DATA

flowchart is a graphical representations of steps. It was originated from computer science as a tool for representing algorithms and programming logic but had extended to use in all other kinds of processes. Nowadays, flowcharts play an extremely important role in displaying information and assisting reasoning. They help us visualize complex processes, or make explicit the structure of problems and tasks. A flowchart can also be used to define a process or project to be implemented.


Flowchart Symbols

Different flowchart shapes have different conventional meanings. The meanings of some of the more common shapes are as follows:


Terminator

The terminator symbol represents the starting or ending point of the system.


Flowchart symbol: Terminator


Process


A box indicates some particular operation.


Flowchart symbol: Process


Document

This represents a printout, such as a document or a report.


Flowchart symbol: Document


Decision

A diamond represents a decision or branching point. Lines coming out from the diamond indicates different possible situations, leading to different sub-processes.


Flowchart symbol: Decision


Data

It represents information entering or leaving the system. An input might be an order from a customer. Output can be a product to be delivered.


Flowchart symbol: Data


On-Page Reference

This symbol would contain a letter inside. It indicates that the flow continues on a matching symbol containing the same letter somewhere else on the same page.


Flowchart symbol: On page reference


Off-Page Reference

This symbol would contain a letter inside. It indicates that the flow continues on a matching symbol containing the same letter somewhere else on a different page.


Flowchart symbol: Off page reference


Delay or Bottleneck

Identifies a delay or a bottleneck.


Flowchart symbol: Delay


Flow

Lines represent the flow of the sequence and direction of a process.


Flowchart symbol: Flow


When to Draw Flowchart?

Using a flowchart has a variety of benefits:


It helps to clarify complex processes.

It identifies steps that do not add value to the internal or external customer, including delays; needless storage and transportation; unnecessary work, duplication, and added expense; breakdowns in communication.

It helps team members gain a shared understanding of the process and use this knowledge to collect data, identify problems, focus discussions, and identify resources.

It serves as a basis for designing new processes.

Flowchart examples

Here are several flowchart examples. See how you can apply a flowchart practically.


Flowchart Example – Medical Service

This is a hospital flowchart example that shows how clinical cases shall be processed. This flowchart uses decision shapes intensively in representing alternative flows.


Flowchart example: Medical services


Flowchart Example – Simple Algorithms

A flowchart can also be used in visualizing algorithms, regardless of its complexity. Here is an example that shows how flowchart can be used in showing a simple summation process.


Flowchart example: Simple algorithms


Flowchart Example – Calculate Profit and Loss

The flowchart example below shows how profit and loss can be calculated.


Flowchart example: Calculate profit and loss


Creating a Flowchart in Visual Paradigm

Let’s see how to draw a flowchart in Visual Paradigm. We will use a very simple flowchart example here. You may expand the example when finished this tutorial.


Select Diagram > New from the main menu.

In the New Diagram window, select Flowchart and click Next.

Create flowchart

You can start from an empty diagram or start from a flowchart template or flowchart example provided. Let’s start from a blank diagram. Select Blank and click Next.

Create blank flowchart

Enter the name of the flowchart and click OK.

Let’s start by creating a Start symbol. Drag the Start shape from the diagram toolbar and drop it onto the diagram. Name it Start.

Create flowchart start symbol

Create the next shape. Move your mouse pointer over the start shape. Press on the triangular handler on the right and drag it out.

Create next flowchart shape

Release the mouse button. Select Flow Line > Process from the Resource Catalog.

Select to create process

Enter Add items to Cart as the name of the process.

Follow the same steps to create two more processes Checkout Shopping Cart and Settle Payment.

Create other flowchart processes

End the flow by creating a terminator.

Create terminator

11. FLOWCHART SISTEM 

Flowchart sistem adalah diagram yang menggambarkan seluruh alur atau flow yang terjadi pada sebuah sistem.

 Flowchart sistem ini bisa menguraikan secara detail urutan setiap prosedur yang ada pada sistem. Jenis terakhir ada flowchart skematik. Flowchart yang satu ini hampir sama dengan flowchart sistem.

12. FLOWCHART PROGRAM

Flowchart program merupakan langkah-langkah (instruksi-instruksi) program yang menceritakan kejadian suatu proses satu dengan 

 proses lainya dalam suatu program secara mendetail yang di wakilkan dalam bentuk simbol atau bagan.

13.SIMBOL" FLOWCHART

1.Simbol Awal (Start/End):

Simbol ini menandakan awal dan akhir dari suatu proses atau algoritma. Biasanya direpresentasikan dengan bentuk oval atau persegi panjang dengan tepi melengkung.


2. Simbol Proses:

Simbol ini digunakan untuk menunjukkan langkah-langkah atau tindakan yang harus dilakukan dalam proses. Umumnya direpresentasikan dengan bentuk persegi panjang.


3. Simbol Keputusan (Decision):

Simbol ini menunjukkan titik keputusan dalam alur kerja yang memerlukan pilihan ya atau tidak. Biasanya direpresentasikan dengan bentuk diamond.


4. Simbol Input/Output:

Simbol ini digunakan untuk menunjukkan input atau output data dalam proses. Biasanya direpresentasikan dengan bentuk paralelogram.


5. Simbol Penghubung (Connector):

Simbol ini digunakan untuk menghubungkan bagian-bagian flowchart yang terpisah. Biasanya direpresentasikan dengan garis lurus atau panah.










Komentar

Postingan populer dari blog ini