RESUME BERPIKIR KOMPUTASI

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

2. TREE DATA

Dalam ilmu komputer , pohon adalah tipe data abstrak yang digunakan secara luas yang mewakili struktur pohon hierarkis dengan sekumpulan simpul yang terhubung . Setiap simpul di pohon dapat dihubungkan ke banyak anak (tergantung pada jenis pohon), tetapi harus dihubungkan ke tepat satu induk, [1] kecuali untuk simpul akar , yang tidak memiliki induk (yaitu, simpul akar sebagai simpul paling atas dalam hierarki pohon). Batasan-batasan ini berarti tidak ada siklus atau "loop" (tidak ada simpul yang dapat menjadi leluhurnya sendiri), dan juga bahwa setiap anak dapat diperlakukan seperti simpul akar dari sub-pohonnya sendiri, menjadikan rekursi sebagai teknik yang berguna untuk traversal pohon . Berbeda dengan struktur data linear , banyak pohon tidak dapat direpresentasikan oleh hubungan antara simpul-simpul tetangga (simpul induk dan anak dari suatu simpul yang dipertimbangkan, jika ada) dalam satu garis lurus (disebut tepi atau tautan antara dua simpul yang berdekatan).



Pohon yang tidak diurutkan ini memiliki nilai yang tidak unik (misalnya, nilai 2 ada di node yang berbeda, tidak hanya di satu node) dan bersifat non-biner (hanya hingga dua node anak per node induk dalam pohon biner). Node akar di bagian atas (dengan nilai 2 di sini), tidak memiliki induk karena merupakan node tertinggi dalam hierarki pohon.

Pohon biner adalah jenis yang umum digunakan, yang membatasi jumlah anak untuk setiap induk hingga maksimal dua. Ketika urutan anak ditentukan, struktur data ini sesuai dengan pohon terurut dalam teori grafik . Nilai atau penunjuk ke data lain dapat dikaitkan dengan setiap simpul di pohon, atau terkadang hanya dengan simpul daun , yang tidak memiliki simpul anak.


Tipe data abstrak (ADT) dapat direpresentasikan dalam sejumlah cara, termasuk daftar induk dengan penunjuk ke anak, daftar anak dengan penunjuk ke induk, atau daftar simpul dan daftar terpisah relasi induk-anak (tipe spesifik dari daftar ketetanggaan ). Representasi mungkin juga lebih rumit, misalnya menggunakan indeks atau daftar leluhur untuk kinerja.


Pohon sebagaimana digunakan dalam komputasi serupa tetapi dapat berbeda dari konstruksi matematika pohon dalam teori grafik , pohon dalam teori himpunan , dan pohon dalam teori himpunan deskriptif .

3. GRAPH DATA

Graph adalah jenis struktur data umum yang susunan datanya tidak berdekatan satu sama lain (non-linier). Graph terdiri dari kumpulan simpul berhingga untuk menyimpan data dan antara dua buah simpul terdapat hubungan saling keterkaitan.


Struktur Data Graph: Pengertian, Jenis, dan Kegunaannya

Simpul pada graph disebut dengan verteks (V), sedangkan sisi yang menghubungkan antar verteks disebut edge (E). Pasangan (x,y) disebut sebagai edge, yang menyatakan bahwa simpul x terhubung ke simpul y.

Contoh Kasus Struktur Data Graph

Sumber: programiz.com

Graph di atas terdiri atas 4 buah verteks dan 4 pasang sisi atau edge. Dengan verteks disimbolkan sebagai V, edge dilambangkan E, dan graph disimbolkan G, ilustrasi di atas dapat ditulis dalam notasi berikut:


V = {0, 1, 2, 3}

E = {(0,1), (0,2), (0,3), (1,2)}

G = {V, E}

Graph banyak dimanfaatkan untuk menyelesaikan masalah dalam kehidupan nyata, dimana masalah tersebut perlu direpresentasikan atau diimajinasikan seperti sebuah jaringan. Contohnya adalah jejaring sosial (seperti Facebook, Instagram, LinkedIn, dkk)


Pengguna di Facebook dapat dimisalkan sebagai sebuah simpul atau verteks, sementara hubungan pertemanan antara pengguna tersebut dengan pengguna lain direpresentasikan sebagai edge. Tiap tiap verteks dapat berupa struktur yang mengandung informasi seperti id user, nama, gender, dll.


Tidak hanya data pengguna, data apapun yang ada di Facebook adalah sebuah simpul atau verteks.Termasuk foto, album, komentar, event, group, story, dll. 


Pengguna dapat mengunggah foto. Ketika telah diunggah, foto akan menjadi bagian dari album. Foto juga dapat dikomentari oleh pengguna lain dan mereka dapat saling berbalas komentar.


Semuanya terhubung satu sama lain, baik dalam bentuk relasi one-to-many, many-to-one, atau many-to-many.

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. ALGORITMA MENURUT PARA AHLI

Menurut Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi, Seorang Matematikawan Islam dari Uzbekistan

Algoritma adalah suatu metode khusus untuk menyelesaikan suatu persoalan yang ada.

Menurut Goodman dan Hedetniemi, penulis buku “Introduction to the Design and Analysis of Algorithms“

Algoritma merupakan Urut-urutan terbatas dari operasi terdefinisi dengan baik, yang masing-masing membutuhkan memory dan waktu yang terbatas untuk menyelesaikan suatu masalah.

Menurut Donald Ervin Knuth, seorang ilmuan terkenal dalam bidang komputerisasi

Algoritma yaitu Sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus.

Menurut Seymour Lipschutz dan Marc Lipson, keduanya penulis buku tentang aljabar dan seorang praktisi matematika dan 

Algoritma merupakan suatu daftar langkah demi langkah yang terhingga dari instruksi-instruksi yang terdefinisikan dengan jelas yang dipakai untuk permasalahan tertentu.

Menurut Marvin Minsky, seorang Ilmuwan dibidang Kecerdasan Buatan (Artificial Intelligence)

Algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya bagaimana untuk bertindak.

Menurut David Bolton, seorang praktisi dibidang teknologi asal Australia

Algoritma merupakan sebuah deskripsi suatu prosedur yang berakhir dengan sebuah hasil.

Menurut Andrey Andreyevich Markov, Matematikawan asal Rusia

Algoritma adalah hal umum untuk dipahami sebagai suatu keputusan yang tepat untuk mendefinisikan proses komputasi yang mengarahkan dari data awal hingga hasil yang diinginkan.

Menurut Romi Satria Wahono, salah satu praktisi Komputerisasi terbaik dari indonesia pemilik dari situs ilmukomputer.com

Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.


6. EKSPRESI LOGIKA


Ekspresi logika adalah proposisi yang dibangun dengan variabel logika yang berasal dari pernyataan atau argumen. 


Variabel logika berupa huruf tertentu yang dirangkai dengan perangkai logika, disebut ekspresi logika.


Definisi : proposisi atomik berisi satu variabel proposisi atau satu konstanta proposisi.


Definisi : proposisi majemuk berisi minimum satu perangkai, dengan lebih dari satu variabel proposisi.


Contoh 1


Jika Dewi rajin belajar, maka ia lulus ujian dan ia mendapat hadiah istimewa.


Variabel proposisinya :


P = Dewi rajin belajar


Q = Dewi lulus ujian


R = Dewi mendapat hadiah istimewa


Ekspresi logika :


Logika seperti kita ketahui adalah sebuah studi penalaran yang mengacu pada cara berfikir yangmasuk akal. Studi ini khusus mempelajari pernyataan

 – 

 pernyataan dan hubungannya denganmenggunakan operator logika.

Operasi logika

 adalah proses yang melibatkan beberapa operator logika seperntoh dari operasi logika adalah :1.

 

AND : menghasilkan nilai TRUE jika kedua operand bernilai TRUE2.

 

OR : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE3.

 

XOR : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukankeduaduanya bernilai TRUE4.

 

! (simbol tidak): mengasilkan nilai tidak TRUE5.

 

&& (simbol AND): menghasilkan nilai TRUE jika kedua operand bernilai TRUE6.

 

|| (simbol OR): menghasilkan nilai TRUE jika salah satu operand bernailai TRUE

 

A and B

atau

 A && B

, untuk operator AND, jika salah satu kondisi bernilai salah makaakan menghasilkan FALSE, sedangkan jika kedunya benar maka akan bernilai true, agarkondisi bernilai benar maka A dan B harus benar.

 

A or B atau A || B

, untuk operator OR, jika salah satu kondisi bernilai benar baik untukkondisi A maupun B maka akan menghasilkan TRUE (benar), jika kedua kondisi baik Amaupun B bernilai salah maka hasilnya FALSE (salah), untuk menghasilkan kondisi benar maka setidaknya



Kedua kemungkinan tersebut akan menghasilkan nilai kebenaran yang berbeda.


Untuk contoh 4-1 yang benar adalah ekspresi logika yang kedua, karena “Dewi lulus ujian dan Dewi mendapat hadiah istimewa” merupakan akibat dari “Dewi rajin belajar”.

7. OPERASI LOGIKA

Dalam logikaoperator logika atau perangkai logika merupakan simbol logika yang dipakai untuk menghubungkan rumus-rumus logika. Sebagai contoh, dalam sintaks logika proposisional, operasi biner  dapat dipakai untuk menggabungkan dua rumus atomik  dan , memberikan rumus kompleks .

Diagram Hasse dari operator-operator logika

Operator logika pada umumnya meliputi negasidisjungsikonjungsi, implikasi dan kesetaraan . Dalam sistem logika klasik yang standar, operator-operator tersebut dipandang sebagai fungsi kebenaran, yakni fungsi yang menerima suatu nilai kebenaran (benar atau salah) dan menghasilkan nilai kebenaran yang baru. Sedangkan dalam logika non-klasik ada beberapa interpretasi berbeda terkait definisi dari operator-operator tersebut. Interpretasi klasik dari setiap operator tersebut mirip dengan ungkapan "tidak", "atau", "dan", dan "jika" dalam bahasa alami seperti Bahasa Indonesia, walau tidak identik

8. FLOWCART

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. 

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

Pertama ada 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.

10. FLOWCHART DATA

Diagram alir data (bahasa InggrisData flow diagram, DFD) adalah suatu diagram yang menggambarkan aliran data dari sebuah proses atau sistem (biasanya sistem informasi). DFD juga menyediakan informasi mengenai luaran dan masukan dari setiap entitas dan proses itu sendiri. DFD tidak memiliki kontrol terhadap alirannya, tidak ada aturan mengenai keputusan maupun

 pengulangan. Operasi spesifik berbasis data dapat digambarkan oleh diagram flowchart.[1] Menurut Kenneth Kozar, tujuan dari DFD adalah menyediakan jembatan antara pengguna dan pengembang sistem.

Walaupun pemodelan berbasis aliran data terkesan sebagai teknik yang ketinggalan zaman oleh beberapa software engineer, DFD tetap menjadi salah satu notasi analisis kebutuhan yang paling sering digunakan saat ini. Walaupun DFD bukan bagian dari UML, DFD dapat digunakan untuk melengkapi diagram UML dan memberikan tambahan wawasan pada aliran dan kebutuhan di dalam sistem.[2]

11. FLOWCHART SISTEM

Yang keempat ada 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.

12. FLOWCHART PROGRAM

Selanjutnya kita akan membahas 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).

13. SIMBOL² FLOWCHART

Pada dasarnya simbol-simbol dalam flowchart memiliki arti yang berbeda-beda. Berikut adalah simbol-simbol yang sering digunakan dalam proses pembuatan flowchart.

Flowchart Adalah: Fungsi, Jenis, Simbol, dan Contohnya


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

Komentar

Postingan populer dari blog ini

DATA LINA