Resume Berpikir Komputasi

 1. STRUKTUR DATA

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

Pengantar Pohon dalam Struktur Data

Pohon adalah struktur data hierarkis nonlinier dan terdiri dari kumpulan entitas yang dikenal sebagai node. Pohon menghubungkan setiap node dalam struktur data pohon menggunakan "tepi", baik yang diarahkan maupun yang tidak diarahkan .

Gambar di bawah ini menggambarkan struktur data pohon. Lingkaran berwarna biru menggambarkan simpul-simpul pohon dan garis-garis hitam yang menghubungkan setiap simpul dengan simpul lainnya disebut tepi.

Anda akan lebih memahami bagian-bagian pohon pada bagian terminologi.




Setelah mempelajari pengenalan pohon dalam struktur data, Anda akan melihat mengapa Anda memerlukan pohon dalam struktur data.

3. GRAPH DATA

Pengertian Struktur Data Graf: Manfaatnya dalam Dunia Komputer

Graf adalah sebuah kumpulan node (simpul) dalam bidang dua dimensi yang terhubung oleh sejumlah garis (sisi). Konsep ini digunakan untuk merepresentasikan obyek-obyek diskrit dan hubungannya. Dalam konteks ilmu komputer, graf menjadi fondasi dari berbagai aplikasi, salah satunya adalah dalam struktur data graf.


Pengertian Struktur Data Graf

Dalam dunia ilmu komputer, graf bisa dianggap sebagai sebuah struktur data, atau yang lebih spesifik, disebut sebagai Abstract Data Type (ADT). Struktur data ini terdiri dari sejumlah simpul dan sisi yang menghubungkan di antara simpul-simpul tersebut. Struktur data graf ini adalah implementasi dari teori graf yang mencakup definisi dan aturan-aturan yang menyertainya.


Secara lebih rinci, struktur data graf adalah bentuk implementasi dari teori graf yang melibatkan definisi serta hukum-hukum yang menyertainya. Struktur ini berbentuk jaringan atau network, di mana hubungan antar elemennya bersifat many-to-many.


Terdapat dua representasi umum dari struktur data graf yang dapat diimplementasikan:

1. Adjacency List:

Setiap simpul direpresentasikan sebagai struktur data yang berisi daftar semua simpul yang terhubung dengannya.


2. Adjacency Matrix:

 Merupakan matriks di mana baris dan kolom mewakili simpul-simpul, dan entri dalam matriks menunjukkan keberadaan sisi antara dua simpul.


Kegunaan Struktur Data Graf

Pemahaman tentang struktur data graph tidak hanya penting dalam teori, tetapi juga dalam implementasi praktisnya. Berikut adalah beberapa kegunaan utama dari struktur data graph dalam dunia komputer:


1. Merepresentasikan Aliran Komputasi:

Graf digunakan untuk menggambarkan aliran proses atau komputasi dalam sebuah sistem.


2. Pemodelan Grafis:

Dalam bidang pemrograman grafis, struktur data graf digunakan untuk membuat pemodelan objek dan interaksi di antara mereka.


3. Alokasi Sumber Daya pada Sistem Operasi:

 Dalam sistem operasi, graf digunakan untuk alokasi sumber daya seperti memori, prosesor, dan lainnya.


4. Rute Terpendek pada Peta Interaktif:

Contohnya adalah penggunaan graf pada Google Maps untuk menemukan rute terpendek antara dua lokasi.


5. Representasi State-Transition dalam Sistem:

Dalam sistem yang melibatkan perubahan state, graf digunakan untuk merepresentasikan state dan transisi di antara mereka.


6. Pemecahan Teka-Teki dan Permasalahan yang Memiliki Satu Solusi:

Seperti pemecahan labirin, graf dapat digunakan untuk memodelkan permasalahan dengan satu solusi yang unik.


7. Aplikasi Peer to Peer (P2P) dalam Jaringan Komputer:

 Graf digunakan dalam aplikasi P2P untuk mengatur koneksi dan pertukaran data antar node.


Dengan pemahaman yang baik tentang struktur data graph dan penerapannya, para pengembang perangkat lunak dapat menciptakan algoritma yang lebih efisien dan program yang lebih sederhana secara keseluruhan dalam berbagai konteks komputasi modern.


Dengan demikian, struktur data graph bukan hanya menjadi konsep teoretis semata, tetapi juga menjadi fondasi penting dalam membangun solusi komputasi yang efisien dan canggih.

4. ALGORITMA

Algoritma sendiri adalah kata serapan dari bahasa Inggris, yaitu algorithm. Sebenarnya, kata algorithm tidak murni diserap dari bahasa Inggris, melainkan dari bahasa Arab yang artinya "proses menghitung dengan angka Arab".


Sedikit membahas sejarahnya, algoritma ditemukan oleh seorang matematikawan bernama Muhammad Ibn Musa Al-Khwarizmi. Dalam dunia literatur Barat, Al-Khawarizmi lebih dikenal dengan julukan Algorizm. Dari panggilan tersebut akhirnya dipakai untuk menyebut konsep algoritma yang ia temukan.


Seiring berjalannya waktu, kata algoritma semakin populer dan mulai banyak digunakan dalam bidang komputer atau yang lebih dikenal dengan sebutan algoritma pemrograman. Sebagai informasi, algoritma pemrograman adalah langkah penyelesaian suatu masalah yang menghasilkan sebuah solusi dalam bentuk program komputer.


Dalam buku Pengantar Algoritma dengan Bahasa, algoritma punya peran penting dalam ilmu komputer. Bisa dibilang, algoritma merupakan "jantung komputer" karena hardware dan software pada komputer dapat dikendalikan melalui sintaks dan kode pemrograman.


Namun tak hanya dipakai untuk memecahkan masalah pada bahasa pemrograman, algoritma juga dapat diterapkan dalam menyelesaikan permasalahan sehari-hari yang membutuhkan berbagai proses dan langkah-langkah.


Mengutip buku 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C ++ oleh Ema Utami, dkk, bila diterjemahkan ke dalam bahasa Indonesia, algoritma diartikan sebagai logika, metode, dan tahapan sistematis yang dipakai untuk memecahkan suatu permasalahan.


Ciri-ciri Algoritma

Adapun sejumlah ciri-ciri algoritma yang baik sehingga lebih mudah ketika diproses, yakni sebagai berikut:


1. Precise

Ciri-ciri algoritma yang pertama adalah precise, maksudnya adalah harus tepat, benar, dan teliti. Jadi, setiap instruksi dalam algoritma wajib ditulis secara benar dan teliti tanpa adanya keraguan.


Jika algoritma diterapkan secara presisi, maka setiap instruksi dapat dinyatakan secara eksplisit tanpa menghilangkan bagian apapun, karena dianggap sudah mengerti.


2. Menyusun Jumlah Langkah atau Instruksi

Setiap langkah dalam menyusun algoritma harus tertata dengan baik, artinya disusun dari awal hingga akhir, meskipun saat diproses akan ada sejumlah data yang berbeda.


3. Efektif

Seluruh instruksi yang ingin dikerjakan harus disampaikan secara jelas dan efektif. Dengan begitu, tidak ada lagi kesalahan ataupun kebingungan saat sedang memproses data.


4. Terminate

Dalam menyusun algoritma pemrograman, tentu harus terminate (berakhir) sehingga tidak berjalan terus.


5. Output yang Dihasilkan Tepat

Ciri-ciri yang terakhir adalah setiap output yang dihasilkan dalam algoritma harus tepat dan sesuai yang dikehendaki. Hal ini dapat terjadi jika setiap langkah dalam algoritma terbilang logis dan bisa diikuti dengan seksama.


Jenis-jenis Proses Algoritma

Dalam buku Struktur Data dan Algoritma dengan C ++ oleh Anita Sindar, ada berbagai jenis dalam proses algoritma, yakni sebagai berikut:


1. Sequence Process

Sequence process adalah instruksi yang dikerjakan secara sekuensial atau berurutan.


2. Selection Process

Dalam hal ini, instruksi akan dikerjakan apabila telah memenuhi berbagai kriteria tertentu.


3. Iteration Process

Jenis algoritma ini mengharuskan instruksi dikerjakan selama memenuhi situasi dan kondisi tertentu.


4. Concurrent Process

Concurrent process adalah sejumlah instruksi yang dikerjakan secara bersamaan.


Syarat Algoritma

Menurut Donald E. Knuth yang dikutip dari E-jurnal milik binus.ac.id, sebuah algoritma harus memenuhi sejumlah syarat, yakni sebagai berikut:


1. Finiteness

Syarat yang pertama harus memenuhi finiteness, yakni algoritma harus berakhir (terminate) setelah melakukan sejumlah langkah proses.


2. Definiteness

Dalam hal ini, setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda (ambiguous).


3. Input

Setiap algoritma memerlukan data sebagai masukkan untuk diolah.


4. Output

Setiap algoritma memberikan satu atau lebih hasil setelah diproses.


5. Effectiveness

Syarat yang terakhir adalah memenuhi effectiveness, artinya langkah-langkah algoritma dikerjakan dalam batas waktu yang wajar.

5. PENGERTIAN ALGORITMA MENURUT PARA AHLI

Definisi 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 komputer

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. EXPRESI LOGIKA

ekspresi logika adalah pernyataan yang bisa benar atau salah . Misalnya, A < B adalah ekspresi logika. Ekspresi ini bisa benar atau salah tergantung pada nilai a dan b yang diberikan.Atau 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

7. OPERASI LOGIKA

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

operator logika pada umumnya meliputi negasi, disjungsi, konjungsi, 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. FLOWCHART

Flowchart adalah alat visual yang digunakan untuk merepresentasikan alur kerja atau proses dalam bentuk diagram. Dalam dunia pemrograman dan sistem, flowchart digunakan untuk merencanakan, menganalisis, dan memahami langkah-langkah yang diperlukan dalam menyelesaikan suatu tugas atau masalah.

9. FLOWCHART DOKUMEN

Bagan alir dokumen atau disebut juga dengan bagan alir formulir (form flowchart) atau paperwork flowchart adalah bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.

10. FLOWCHART DATA

flowchart data adalah teknik penyajian data dengan menampilkannya dalam bentuk diagram. Penyajian data dengan menggunakan diagram diperlukan agar lebih mudah dipahami daripada menyajikan data dalam bentuk tabel. 

11. FLOWCHART SISTEM

Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, Flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi

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 SIMBOL FLOWCHART

Simbol Flowchart dan Fungsinya
Simbol-simbol dalam flowchart memiliki makna dan fungsi tertentu yang membantu dalam pemahaman alur kerja. Beberapa simbol dasar flowchart meliputi:

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

DATA INESYA