RESUME BERFIKIR 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
Struktur data adalah cara atau teknik untuk mengatur elemen data ke dalam bentuk tertentu. Urutan dalam menyusun elemen data akan sangat menentukan apakah elemen data yang hendak diakses dapat diproses dalam waktu yang lebih singkat dan mudah atau tidak.
Elemen data yang disusun secara berurutan dimana setiap elemen saling berdekatan antara satu elemen dengan elemen lain disebut sebagai struktur data linier. Contohnya seperti array, linked list, stack, dan queue.
3. Graph
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.
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.
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)
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]
5. Pengertian Algoritma Menurut 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. Ekspresi Logika
Ekspresi logika adalah ekspresi yang mengevaluasi ke nilai logika 0,0 untuk salah dan 1,0 untuk benar. AIMMS mendukung beberapa jenis ekspresi logika.
Karena AIMMS mengizinkan ekspresi numerik sebagai ekspresi logika, penting untuk membahas bagaimana ekspresi numerik diinterpretasikan secara logika, dan bagaimana ekspresi logika diinterpretasikan secara numerik. Ekspresi numerik yang mengevaluasi ke nol (0.0) adalah salah, sementara yang lainnya (termasuk ZERO, NAdan UNDF) adalah benar. Ekspresi logika yang salah mengevaluasi ke nol (0.0), sementara ekspresi logika yang benar mengevaluasi ke satu (1.0). Jika satu atau lebih operan dari operator logika adalah UNDFatau NA, nilai numeriknya juga UNDFatau NA. Perhatikan bahwa AIMMS tidak akan menerima ekspresi yang mengevaluasi ke UNDFatau NAdalam kondisi dalam pernyataan aliran kontrol, di mana harus diketahui apakah hasil dari kondisi itu sama dengan 0.0atau tidak (lihat juga Pernyataan Kontrol Aliran ).
7. Operasi Logika
Operasi logika yang dimaksudkan adalah sebuah sebuah kombinasi variabel biner yang berupa masukan dan keluaran dari sebuah sistem rangkaian digital.
Operasi logika adalah proses yang melibatkan beberapa operator logika seperti AND, OR, NOR, XOR dan operator logika lainnya yang menghasilkan nilai true dan false atau menghasilkan nilai benar dan salah. Operasi logika ini sangat sering sekali digunakan di algoritma dan bahasa pemrograman dasar.
Operator logika sering digunakan di dalam flow control berkolaborasi dengan operator pembanding untuk mendapatkan hasil yang paling sesuai dengan kondisi tertentu.
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
Document flowchart adalah bagan alir untuk menganalisis alur dokumen dan informasi antar departemen atau unit dalam suatu organisasi.Biasanya, jenis flowchart ini dibagi menjadi beberapa kolom yang menunjukkan tiap-tiap departemen atau unit dalam organisasi.
Flowchart jenis ini dibuat untuk mencari tahu alur setiap dokumen dalam suatu proses dari asal hingga tujuan akhirnya. Dengan begitu, Anda bisa menggambarkan asal dokumen, distribusi dokumen ke tiap unit, tujuan akhir dokumen, serta alur perpindahan dokumen dan informasi antar departemen.
10. 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.
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.
11. Flowchart Data
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.
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).
12. Flowchart Progam
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
Pada dasarnya simbol-simbol dalam flowchart memiliki arti yang berbeda-beda. Berikut adalah simbol-simbol yang sering digunakan dalam proses pembuatan flowchart.
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.
Pencarian (Searching)
Adalah menemukan “sesuatu” yang bisa berupa benda, angka, konsep, informasi yang
memenuhi kriteria tertentu dalam suatu ruang pencarian.
Contoh masalah pencarian :
• Mencari buku dengan judul tertentu di rak perpustakaan
• Mencari pakaian batik seragam diantara berbagai tumpukan buku lain
• Mencari dokumen/web tertentu dengan mesin pencari seperti Google
Elemen pada masalah pencarian :
• Sekumpulan benda atau objek
• Kriteria dari benda atau objek yang dicari
• Pengecekan benda atau objek, untuk memeriksa apakah ia memenuhi kriteria
pencarian.
Pengurutan (Sorting)
Merupakan suatu permasalahan klasik pada komputasi yang dilakukan untuk
mengatur agar suatu kelompok benda, objek, atau entitas diletakkan mengikuti aturan
tertentu.
Teknik pengurutan :
Insertion Sort : adalah suatu teknik yang digunakan untuk permasalahan pengurutan
dalam list (daftar objek) dengan cara menyisipkan ekemen satu persatu sesuai dengan urutan besar kecilnya elemen, proses pengurutan :
>> Iterasi pertama : tinjau bilangan kedua, bandingkan dengan bilangan pertama dan
kedua
>> Iterasi kedua : ambil bilangan ketiga, bandingkan dengan bilangan sebelumnya
>> Iterasi ketiga : ambil bilangan keempat, bandingkan dengan bilangan yang sebelumnya
>> Iterasi keempat : ambil bilangan kelima, bandingkan dan tukar jika lebih kecil atau lebih
besar dengan sebelumnya.
Selection Sort : adalah suatu Teknik dengan menyeleksi bilangan terkecil/terbesar dari
daftar bilangan yang belum terurut dan meletakkannya dalam daftar bilangan baru yang dijaga keurutannya, langkah-langkah teknik pengurutan :
>> Cari bilangan terkecil yang ada pada bagian belum terurut.
>> Tukar bilangan dengan bilangan pertama bagian belum terurut, masukkan ke bagian
terurut.
>> Ulangi langkah 1 dan 2 hingga habis.
Contoh tabel selection sort :
Bagian Terurut Bagian yang belum terurut Nilai terkecil dari bagian yang belum terurut.
() (2,3,7,6,5) 2
(2) (3,7,6,5) 3
(2,3) (7,6,5) 5
(2,3,5) (6,7) 6
(2,3,5,6) (7) 7
(2,3,5,6,7) 0
>> Iterasi pertama : cari bilangan terkecil di bagian belum terurut, ditemukan 2 sebagai
bilangan terkecil. Tukar bilangan 2 dengan bilangan pertama belum terurut
>> Iterasi kedua : cari bilangan terkecil di bagian belum terurut, ditemukan 3 sebagai
bilangan terkecil. Tukar bilangan 3 dengan bilangan pertama belum terurut
>> Iterasi ketiga : cari bilangan terkecil di bagian belum terurut, ditemukan 5 sebagai
bilangan terkecil. Tukar bilangan 5 dengan 7
>> Iterasi keempat : cari bilangan terkecil di bagian belum terurut, ditemukan 6 sebagai
bilangan terkecil. Tukar bilangan 6 dengan bilangan pertama belum terurut.
Tumpukan (Stack) dan Antrean (Queue)
Antrean (Queue) : Objek disimpan dalam metode penyimpanan berupa antrean (objek pertama akan mendapat giliran terdahulu)
>> Disebut juga prinsip First In First Out (FIFO)
>> Contoh :
• Antrean pelayanan rumah sakit, pembelian tiket KAI, dsb.
• Tumpukan (Stack) : Objek disimpan dalam metode penyimpanan menyerupai
tumpukan (objek pertama yang lebih dulu disimpan akan keluar paling akhir)
>> Disebut juga prinsip Last In First Out (LIFO)
>> Contoh :
• Tumpukan piring yang akan disimpan ke rak piring.
Istilah – istilah dalam Queue dan Stack :
• Undo : Berfungsi untuk membatalkan, mengembalikan, atau mengulangi tindakan
• Redo : Berfungsi untuk membatalkan undo
• Back : Berfungsi untuk kembali ke halaman website yang sebelumnya
• Forward : Berfungsi untuk maju ke halaman web selanjutnya
• Printer : Bertugas untuk mencetak dokumen yang dikirimkan dari computer
• Enqueue : Berfungsi untuk memasukkan sebuah bilangan bulat ke dalam queue
• Dequeue : Berfungsi membuang/mengeluarkan bilangan yang berada pada posisi
pertama antrean
• Push : Digunakan untuk menyimpan nilai ke dalam stack
• Pop : Digunakan untuk mengeluarkan angka yang berada di atas tumpukan saat ini