This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Minggu, 20 Desember 2015

Definisi Algoritma & Pencarian Buta (Algoritma Depth First Search dan Breadth First Search)

Algoritma Depth First Search dan Breadth FirstSearch adalah algoritma  pencarian buta yang digunakan dalam kecerdasan buatan. Algoritma ini berfungsi  untuk menemukan tujuan pada suatu kasus dimana tidak ada informasi tambahan  yang dimiliki untuk membantu melakukan pencarian. Pada pencarian buta, pencarian dilakukan dengan cara menjalani satu per satu kemungkinan yang ada. Algoritma tersebut digunakan pada aplikasi Rat Race dan Web Peta.   Rat Race adalah sebuah permainan dimana terdapat labirin dengan satu jalan  masuk dan satu jalan keluar. Terdapat karakter tikus yang bertugas untuk mencari  jalan keluar pada labirin. Permainan ini memiliki beberapa aturan, antara lain tikus hanya dapat berjalan satu langkah demi satu langkah. Tikus tidak dapat melihat dan berjalan secara diagonal. Pada labirin hanya terdapat satu jalan masuk dan satu jalan keluar.   Aplikasi Web Peta juga menggunakan algoritma pencarian buta. Tetapi pada  aplikasi Web Peta, algoritma yang digunakan adalah algoritma Depth First Search. Tujuan utama dari aplikasi ini adalah untuk mencari rute dari satu lokasi ke lokasi lainnya yang terdapat dalam peta. Selain itu juga aplikasi harus dapat menemukan  rute alternatif dan rute terpendek untuk mencapai tujuan.adapun macam-macam pencarian algoritma yaitu:

A.    MACAM-MACAM ALGORITMA PENCARIAN
Permasalahan pencarian adalah merupakan yang sering dijumpai oleh peneliti di bidang Kecerdasan Buatan. Permasalahan ini merupakan hal penting dalam menentukan keberhasilan system kecerdasan buatan. Dalam bab ini akan dipelajari 3 bagian dalam metode pencarian, yang pertama adalah metode yang sederhana yang hanya berusaha mencari kemungkinan penyelesaian. Metode yang termasuk pada bagian ini adalah dept-first search, hill climbing, breadth-first search, beam search dan best-first search.
Yang kedua, kita akan mempelajari metode yang lebih kompleks yang akan mencari jarak terpendek. Metode ini adalah British Museum Procedure, Branch and Bound, Dynamic Programming dan A*. Metode-metode ini digunakan pada saat harga perjalanan untuk mencari kemungkinan menjadi perhitungan
Yang ketiga, kita akan mempelajari beberapa prosedur/metode yang kita terapkan saat kita berhadapan dengan musuh. Prosedur ini adalah minimax search, alpha-beta prunning. Metode ini banyak digunakan pada program-program permainan seperti catur dsb. Dalam gambar 4.1 terdapat bagan untuk Metode Searching.



Metode pencarian dikatakan penting untuk menyelesaikan permasalahan karena setiap state(keadaan) menggambarkan langkah-langkah untuk menyelesaikan permasalahan.
Metode pencarian dikatakan penting untuk perencanaan karena dalam sebuah permainan akan menentukan apa yang harus dilakukan, dimana setiap state menggambarkan kemungkinan posisi pada suatu saat.
Metode pencarian adalah bagian dari kesimpulan, dimana setiap state menggambarkan hipotesis dalam sebuah rangkaian deduktif.

                B.  POHON PELACAKAN
Untuk menghindari kemungkinan adanya proses pelacakan suatu node secara berulang, maka digunakan struktur pohon. Struktur pohon digunakan untuk menggambarkan keadaan secara hirarkis.  Pohon juga terdiri dari beberapa node. Node yang terletak pada level-0 disebut juga “akar”. Node akar menunjukkan keadaan awal yang biasanya merupakan topik atau obyek. Node akar ini terletak pada level ke-0. Node akar mempunyai beberapa percabangan yang terdiri atas beberapa node successor yang sering disebut dengan nama “anak” dan merupakan node-node perantara. Namun jika dilakukan pencarian mundur, maka dapat dikatakan bahwa node tersebut memiliki predecessor. Node-node yang tidak mempunyai anak sering disebut dengan nama node “daun” yang menunjukkan akhir  dari suatu pencarian, dapat berupa tujuan yang diharapkan (goal) atau jalan buntu (dead end).

                  1. Pencarian Melebar Pertama (Breadth-First Search)

          Pada metode Breadth-First Search, semua node pada level n akan dikunjungi terlebih dahulu sebelum        mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan,  kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan sampai ditemukannya
 solusi
   Algoritma
        1.   Buat sebuah Antrian, inisialisasi node pertama dengan Root dari tree 
       2.   Bila node pertama, jika Ã‡ GOAL, diganti dengan anak-anaknya dan diletakkan di belakang PER LEVEL
        3.   Bila node pertama = GOAL, selesai

o          Keuntungan
         1.    Tidak akan menemui jalan buntu
        2.    Jika ada satu solusi, maka breadth first search akan menemukannya. Dan jika  ada lebih dari satu solusi, maka solusi    minimum akan ditemukan.
o        Kelemahan
        1.      Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon.  
         2.     Kemungkinan ditemukan optimal lokal.

     
                   2. Pencarian Mendalam Pertama (Depth-First Search)
Pada Depth First Search, proses pencarian akan dilaksanakan pada semua anaknya sebelum dilakukan  pencarian ke node-node yang selevel. Pencarian dimulai  dari node akar ke level yang lebih tinggi. Proses ini  diulangi terus hingga ditemukaannya solusi.
o         Algoritma
          1.    Buat sebuah Antrian, inisialisasi node pertama dengan Root dari tree
         2.    Bila node pertama, jika Ç GOAL, node dihapus diganti dengan anak-anaknya dengan               urutan LChild
          3.    Bila node pertama = GOAL, selesai


o         Keuntungan
     1.   Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.
     2.   Menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.

o       Kelemahan
       1.      Kemungkinan terjebak pada optimal lokal.

 Download PowerPoint >>Klik Here<<


        Dosen Pengampuh Matakuliah


         Nama : M.Ropianto, M.Kom
         NIDN : 1028067804
         Status : Dosen Tetap YAPISTA/STT Ibnu Sina

 Dosen Pengampuh Matakuliah : Algoritma dan Pemrograman 3

Jumat, 19 Juni 2015

Belajar Membuat Flowchart, Algoritma, serta Pseudocode

Belajar Membuat Flowchart, Algoritma, serta Pseudocode

1. Definisi Algoritma
“Algoritma merupakan suatu urutan langkah-langkah (steps) yang disusun secara logis dan sistematis untuk menyelesaikan suatu masalah dan dapat dieksekusi. “
Dalam defenisi diatas istilah “komputer” tidak terlihat sehingga sebuah algoritma tidak selalu berhubungan dengan komputer. Dalam kehidupan sehari-hari banyak terdapat proses yang dinyatakan dalam suatu algoritma.
2. Definisi Flowchart (Diagram Alir)
Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam bentuk diagram-diagram dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Algoritma yang ditulis dengan simbol-simbol demikian yang dinamakan flowchart.
3. Definisi Pseudocode Pseudo berarti imitasi dan code berarti kode yang dihubungkan dengan instruksi yang ditulis dalam bahasa komputer (kode bahasa pemrograman). Apabila diterjemahkan secara bebas, maka pseudocode berarti tiruan atau imitasi dari kode bahasa pemrograman.
Pada dasarnya, pseudocode merupakan suatu bahasa yang memungkinkan programmer untuk berpikir terhadap permasalahan yang harus dipecahkan tanpa harus memikirkan syntax dari bahasa pemrograman yang tertentu. Tidak ada aturan penulisan syntax di dalam pseudocode. Jadi pseudocode digunakan untuk menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya.

Berikut ini contoh Algoritma, Flowchart dan Pseudecode dari Prosedur Penjualan Kredit :

1. Flowchart
Berikut ini adalah flowchart dari penjualan kredit. 



2. Algoritma
    Berikut ini contoh Prosedur Penjualan Kredit (Analytic Flowchart) di atas :
A. Customer mengirimkan Surat Order Barang ke Bagian Penjualan. Setelah menerima Surat Order Barang dari Customer, Bagian Penjualan membuat dan menandatangani Faktur Penjualan yang dirangkap 3, lembar pertama dan lemabar kedua untuk Bagian Pengiriman, sedangkan lembar ketiga untuk Bagian Gudang. Dari Faktur Penjualan tersebut, Bagian Penjualan membuat Surat Jalan yang dirangkap 2 untuk Bagian Pengiriman.
B. Dari Faktur Penjualan lembar ketiga yang diterima dari Bagian Penjualan, Bagian Gudang menyiapkan barang yang diorder dan mencatat ke Buku Catatan Barang. Kemudian Barang tersebut diserahkan ke Bagian Pengiriman dan Faktur Penjualan dikembalikan ke Bagian Penjualan.
C. Barang dari Bagian Gudang dan Surat Jalan beserta Faktur Penjualan dari Bagian Penjualan, dicek apakah sudah sesuai apa belum , jika sesuai, Barang dan Surat Jalan beserta Faktur Penjualan tersebut dikirm ke Customer. Jika Barang belum sesuai maka akan di kembalikan ke Bagian Gudang.
D. Setelah Faktur Penjualan dan Surat Jalan ditandatangani oleh Customer, Faktur Penjualan lembar pertama diberikan ke Customer sedangkan Faktur Penjualan lembar kedua diberikan ke Bagian Akuntansi. Surat Jalan lembar pertama diberikan ke Bagian Gudang untuk diarsip urut tanggal dan lembar kedua diberikan ke Bagian Penjualan.
E. Surat Jalan lembar kedua dari Bagian Pengiriman dan Faktur Penjualan lembar ketiga dari Bagian Gudang, Bagian Penjualan mencatat ke Catatan Penjualan kemudian Surat Jalan beserta Faktur Penjualan di arsip urut tanggal jatuh tempo sampai pelanggan melunasi pembelian tersebut.
F. Atas Faktur Penjualan lembar kedua dari Bagian Pengiriman, Bagian Akuntansi mencatat ke Jurnal Penjualan. Kemudian Faktur Penjualan diarsip urut tanggal.
Sistem Akuntansi :
   Pada umumnya diartikan sebagai organisasi atau jaringan yang terdiri dari formulir-formulir, catatan-catatan, prosedur-prosedur, alat-alat dan sumber daya manusia dalam rangka menghasilkan informasi pada suatu organisasi untuk keperluan pengawasan operasi, dan untuk pengambilan keputusan.

Prosedur :
   Urut-urutan pekerjaan klerikal yang melibatkan beberapa orang/bagian yang disusun untuk menjamin adanya perlakuan yang sama terhadap penanganan transaksi perusahaan yang berulang.
Pekerjaan klerikal terdiri dari :
a.       Penulisan kode
b.      Pembandingan
c.       Pembukuan
d.      Penggandaan
e.       Pemilahan
f.       Penghitungan
g.      Pembuatan daftar-daftar.

Hal-hal penting dalam membuat flowchart :
1. Konsep IPO (Input-Proses-Output)
    Suatu input tidak akan langsung menjadi output tanpa melalui suatu proses.
2. Penggunaan simbol.
3. Penggunaan garis arus. 

Langkah-Langkah membuat flowchart berdasarkan narasi prosedur/sistem:
1. Tentukan Bagian-bagian yang terlibat dalam prosedur/sistem (Bagian-bagian tersebut adalah yang terdapat dalam struktur organisasi perusahaan).
2. Tentukan jenis dan simbol-simbol flowchart yang digunakan
3. Tentukan awal dan akhir prosedur/sistem
4. Tidak boleh dilupakan:
     a. Judul Flowchart
     b. Pemisahan antar kolom atau bagian
     c. Keterangan Simbol

3. Pseudecode
Berikut ini adalah pseudecode dari Flowchart Bagian Pengiriman, yaitu : 
Alur 1 
1.      Operation manual (mengecek kesesuaian barang dari gudang dengan packing slip) 
2.      Dokumen (sales order) 
3.      Konsumen 
Alur 2 
1.      Operation manual (mengecek kesesuaian barang dari gudang dengan packing slip) 
2.      Operation manual (membuat bukti pengiriman barang) 
3.      Dokumen (bukti pengiriman barang) 
4.      Dokumen (bukti pengiriman barang diserahkan kepada bagian akuntansi dan konsumen)

Sekian artikel Belajar Membuat Flowchart, Algoritma, serta Pseudocode. Terimakasih telah berkunjung. Salam optimis:)  
#tugasutsteori