Langsung ke konten utama

Postingan

Algoritma, Kompleksitas, Pencarian dan Teori Bilangan

Algoritma adalah sekumpulan berhingga  dari instruksi-instruksi untuk melakukan perhitungan/ komputasi atau memecahkan suatu masalah. Suatu algoritma yang baik harus memiliki sifat-sifat berikut ini: •  Masukan (input) dari himpunan tertentu •  Keluaran (output) pada himpunan tertentu (solusi) •  Definiteness dari setiap langkah perhitungan •  Kebenaran (correctness) dari keluaran untuk setiap masukan yang mungkin •  Keberhinggaan (finiteness) dari banyaknya langkah perhitungan •  Kefektifan (effectiveness) dari setiap langkah perhitungan dan •  Keterumuman (generality) dalam suatu kelompok permasalahan yang dipecahkan Kita akan memakai  pseudocode untuk menuliskan algoritma, yang mirip dengan bahasa Pascal. Sebagai contoh pertama, tinjau algoritma mencari nilai maksimum dari suatu barisan yang panjangnya berhingga berikut ini. procedure max(a1, a2, …, an: integers) max := a1 for i := 2 to n if max < ai then max := ai {max adalah elemen terbesar dalam barisan} Dari masukan barisan a...

pencarian pada pascal

pencarian (searching) merupakan proses yang fundamental dalam pengolahan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Di dalam Buku 1 Algoritma dan Pemrograman telah disebutkan bahwa aktivitas yang berkaitan  dengan pengolahan data sering didahului dengan proses pencarian. Sebagai contoh,  untuk mengubah (update) data tertentu, langkah pertama yang harus dilakukan adalah mencari keberadaan data  tersebut di dalam kumpulannya. Jika data yang dicari ditemukan, maka data tersebut dapat diubah nilainya dengan data yang baru. Aktivitas awal yang sama juga dilakukan pada proses penambahan (insert) data baru. Proses penambahan data dimulai dengan mencari apakah data yang  akan ditambahkan sudah terdapat di dalam kumpulan.  Jika sudah ada dan mengasumsikan tidak boleh ada duplikasi data maka data tersebut tidak perlu ditambakan, tetapi jika belum ada, maka tambahkan. Data dapat disimpan seca...

Pengkajian Algoritma Pengurutan-Tanpa-Pembandingan Counting Sort dan Radix Sort

Pengurutan  sangat  penting  dalam Teknologi  Informasi  yang  tak  lepas  dari  pengolahan data.  Pemecahan  permasalahan  pengolahan  data dapat menjadi lebih efektif dan efisien bila data sudah dalam  keadaan  terurut.  Seperti  dalam  proses pencarian  data  (searching),  algoritma  pencarian tingkat  lanjut  yang  lebih  efektif  daripada  cara konvensional  seperti  Binary  Search  ataupun Interpolation  Search  membutuhkan  data  yang  sudah terurut.  Contoh lain di mana data terurut dibutuhkan adalah  dalam  penggabungan  data  menggunakan metode merging. Makalah  ini  akan  mengkaji  2  algoritma  pengurutan yang  dalam  proses  pengurutannya  tidak  melakukan pembandingan data. Kedua algoritma tersebut adalah algoritma  Counting  Sort  dan  algoritma  Radix  Sort. Pengkajian  yang  dilakukan  adalah  mengenai  ide dasar,  algoritma  pengurutan,  implementasi,  dan analisis kompleksitas algoritma. Kata Kunci: algoritma pengurutan, sorting algorithm, pengurutan  tanpa  pembandi...

PENERAPAN ALGORITMA DEPTH-FIRST SEARCH (DFS) PADA PENCARIAN SOLUSI PERMAINAN “PAIRS”

Permainan komputer merupakan aplikasi perangkat lunak  yang  sering  digunakan  oleh  para  pengguna komputer. Dengan jenis yang bermacam-macam dan tampilan  yang  menarik,  permainan  komputer termasuk  perangkat  lunak  yang  diminati  oleh berbagai  kalangan.  Selain  karena  tampilan  dan aplikasinya  relatif  menarik,  permainan  komputer dapat  menjadi  salah  satu  perangkat  lunak  yang cukup  menyenangkan  terutama  bagi  orang  yang telah terbiasa menggunakan komputer. Salah satu permainan yang sering dimainkan para pengguna  komputer  adalah  permainan  Pairs. Permainan  Pairs  ini  mempunyai  peraturan  yang cukup  sederhana.  Pada  permainan  ini,  pemain mencari  sepasang  kartu  yang  mempunyai  gambar yang sama pada kartu-kartu yang ada. Permainan akan  berakhir  ketika  pemain  telah  menemukan seluruh pasang gambar yang sama. Untuk  menyelesaikan  suatu  persoalan,  dapat digunakan  berbagai  macam  algoritma.  Algoritma Depth-First  Search  (DFS),  adalah  salah  sat...

NOTASI ALGORITMIK

Penyajian bentuk algoritma dibagi kedalam 3 cara, yaitu : Notasi yang dinyatakan dengan pseudo code (pascal) Notasi yang dinyatakan dalam flow chart Notasi yang dinyatakan dalam kalimat deskriptif   NOTASI YANG DINYATAKAN DENGAN PSEUDO CODE Pseudo-code Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan. Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma. Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma. Notasi yang menyerupai bahasa pemrograman tingkat tinggi Kemudahan mengkonversinya (mentranslasi ke notasi bahasa pemrograman) Contoh...