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
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
Komentar
Posting Komentar