• Cara cepat belajar Algoritma

    Hai teman-teman. selamat beraktivitas, salam semangat untuk kamu yang sedang belajar dan masuk ke jurusan kuliah yang ada materi kuliah tentang algoritma dan pemograman. Nah berbicara tentang algoritma saya akan memberikan sedikit pengetahuan tentang Apa sih Itu Algoritma ?.. hmm.

    Kebetulan saya juga sedang berjuang di jurusan yang ada mata kuliah Algoritma dan Pemograman ini sebatas sharing saja yang pernah saya pelajari. Mari kita belajar bersama-sama. Lets check it out!.

    1. Sejarah Algoritma 
     Asal kata Algoritma berasal dari nama Abu Ja'far Mohammed Ibnu Musa al-Khowarizmi, seorang ilmuan Persia yang menulis "Buku Pemugaran dan Pengurangan" (The book of restoration and reduction) sekitar tahun 825 M.

    Lalu Apa sih definisi Algoritma itu, definisi algoritma diantaranya :

    Definisi 1 : Urutan langkah-langkah untuk menyelesaikan suatu masalah.
    Definisi 2 : Urutan logis pengambilan keputusan untuk memecahkan masalah.
    Definisi 3 : Alur pemikiran dalam menyelesaikan suatu masalah yang dituangkan secara tertulis. Alur pemikiran mempunyai makna algoritma setiap orang dapat berbeda-beda. Tertulis artinya suatu algoritma agar dapat dimengerti oleh diri sendiri maupun oleh orang lain dapat dituangkan ke dalam untaian kata-kata/kalimat (bahasa natural), kode tertentu, maupun dengan gambar atau tabel tertentu.

    Dalam bidang komputer , algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
    Algoritma di butuhkan untuk memerintah komputer mengambil langkah-langkah tertentu untuk menyelesaikan masalah.

    Algoritma + Struktur Data = Program

    Nah sudah tau kan apa itu Algoritma. ayo kita lanjut ke berikutnya. 

    2. Tahap Pemecahan Masalah 
    Agar sebuah algoritma dapat memerintah (diproses) komputer, maka algoritma tersebut dapat dirubah menjadi bentuk program komputer (melalui bahasa pemograman). 

    berikut ini tahapan pemecahan masalah dari sebuah algoritma yang diselesaikan dengan bantuan program komputer secara umum : 

    Gambar 1. Tahap Pemecahan Masalah berbantuan Komputer
    Seperti yang telah diungkapkan di atas, bahwa setiap manusia ketika menghadapi suatu permasalahan yang sama, dapat diselesaikan dengan cara yang berbeda-beda Algoritma setiap orang dapat berbeda-beda). Oleh karena itu, kita dapat memilih algoritma yang terbaik dengan kriteria sbb : 

    1. Ada Input & Output 
    2. Efektif dan Efisien 
    3. Jumlah langkahnya berhingga 
    4. Terstruktur 
    5. Berakhir 
    Sehingga dapat disimpulkan Suatu Algoritma yg terbaik (The Best) adalah : "Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat & penggunaan memori yg relatif sedikit (efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya." 

    3. Penulisan Algoritma 

    Algoritma dapat dituangkan / ditulis ke dalam : 
    1. Bahasa Natural, yaitu mengungkapkan solusi pemecahan masalah dengan menuliskannya dengan kata-kata/kalimat. Mudah dibuat tetapi kadang-kadang dapat membingungkan bagi yang membacanya (ambigu). 
    2. Pseudocode, yaitu mengungkapkan solusi pemecahan masalah dengan menuliskannya dengan tulisan yang mendekati bahasa pemograman tertentu. Atau definisi lain yaitu suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemograman tertentu. Hal ini akan sulit dipahami bagi sebagian orang yang belum mengenal bahasa pemograman komputer. Tetapi lebih singkat penulisannya. 
    3. Flowchart (Diagram Alir), yaitu bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. Dengan Flowchart, memahami alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma nya panjang. 
    Misalnya kalian akan mengirim surat kepada teman yang berbeda lokasinya dengan kalian, maka salah satu prosedur/algoritma yang dapat dibuat dengan menggunakan Bahasa Natural adalah sbb : 
    1. Tulis surat pada secercik kertas 
    2. Ambil sampul surat atau amplop 
    3. Masukan surat dengan lem perekat
    4. Tulis alamat surat yang dituju, jika tidak ingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat. 
    5. Tempelkan perangko pada amplop surat 
    6. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukan surat ke dalam kota/bis surat. 
    Contoh lain, misalnya kalian diminta untuk membuat sebuah algoritma untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yang di Input, maka caranya adalah sbb : 
    1. Baca bilangan Bulat Positif yang diinput, sebut saja sebagai A 
    2. Dinyatakan Nilai B adalah 0
    3. Hitung Nilai C yang berisikan Nilai B dikalikan Nilai B 
    4. Jika nilai C sama dengan nilai A, maka nilai B adalah Akar dari Nilai A, lalu stop.
    5. Jika tidak, maka Nilai B akan bertambah 1 
    6. Kembali ke langkah pada No. 3 
    Dalam kehidupan sehari-hari, banyak sekali contoh-contoh algoritma lainnya dengan menggunakan Bahasa Natural yang kita temukan. 

    Misalnya ketika kita membeli HP, maka untuk mengoperasikan agar HP tersebut berfungsi, kita tinggal membaca buku manualnya. Di salah satu majalah wanita yaitu Femina, sering terdapat kumpulan resep-resep yang diperlukan beserta penjelasan bagaimana bahan makanan tersebut dimasak, dan masih banyak lagi contoh yang lain. Semuanya itu termasuk mengungkapkan sebuah algoritma dengan menggunakan Bahasa Natural. 

    4. Tahap Analisa Algoritma 

    Berikut ini tahap analisa algoritma :

    1. Bagaimana merencanakan algoritma

    Untuk merencanakan sebuah algoritma yaitu dengan cara mendefinisikan suatu masalah yang dihadapi. Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran. 

    Rumus : phi . r2 dengan Phi = 3.14 atau 22/7.

    2. Bagaimana menyatakan suatu algoritma (menulis algoritma)

    Masalah di atas, algoritma nya ditulis dengan menggunakan Pseudocode, maka bentuknya sbb : 
    Phi ←3.14 
    Input (diameter)
    Radius ← diameter / 2 
    Luar ← phi * radius * radius 
    Output (Luas)
    End 

    Jika masalah di atas diselesaikan dengan menggunakan flowchart, maka bentunya sbb : 
    Gambar 2. Flowchart mencari luas lingkaran 
    3. Bagaimana validitas suatu algoritma.
    4. Bagaimana Menganalisa suatu Algoritma. 
    Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat dilihat dari : 
    1. Waktu Tempuh dari Suatu Algoritma 
    2. Jumlah memori yang digunakan 
    Hal-hal yang mempengaruhi waktu tempuh adalah : 
    1. Banyaknya langkah. 
    2. Besar dan jenis input data. 
    3. Jenis Operasi. 
    4. Komputer dan kompilator 
    5. Bagaimana Menguji Program dari suatu Algoritma
    Untuk melakukan pengujian terhadap sebuah algoritma yang dibuat, maka dapat dilakukan tahapan sbb : 
    a. Pengujian Tahap Debuging, Untuk mengecek kesalahan program, Baik sintaksis maupun logika. 
    b. Pengujian Tahap Profiling, Untuk menentukan waktu temuh dan banyak nya memori program yang digunakan. 

    5. Langkah-langkah yang membentuk suatu Algoritma 
    Langkah-langkah yang membentuk suatu algoritma dapat dibagi menjadi 4 kelompok proses. Keempat langkah tersebut adalah sbb : 
    1. Sequence Process, instruksi dikerjakan secara berurutan satu persatu dimulai dari langkah pertama sampai akhir. 
    2. Selection Process, instruksi pemilihan proses (percabangan), sehingga apabila memenuhi persyaratan tertentu maka instruksi akan dikerjakan. Contoh : jika pembayaran tunai diberi diskon 10% jika dilakukan secara kredit maka diskon 0%. (dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif instruksi). 
    3. Iteration Process, suatu instruksi yang dikerjakan berulang-ulang selama beberapa kali selama masih mememenuhi suatu kondisi. 
    4. Concurence Process, suatu instruksi yang di dalamnya meliputi ketiga proses di atas. 

    Nah, sudah bisa dimengerti kan teman-teman. untuk menguji kemampuan teman-teman semua saya akan memberikan tugas dan jawaban nya nanti tuliskan di kolom komentar yah .. :). Terima kasih sudah berkunjung. 

    TUGAS 
    1. Buat langkah untuk melakukan penggantian ban mobil yang pecah (tanpa ada masalah / syarat). 
    2. Dari Soal diatas dikembangkan kembali, misal : bila ban serep kempes atau ban serep bocor. Gunakan Bahasa Natural...!
  • 0 komentar:

    Posting Komentar

    GET A FREE QUOTE NOW

    Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

    ADDRESS

    4759, NY 10011 Abia Martin Drive, Huston

    EMAIL

    contact-support@mail.com
    another@mail.com

    TELEPHONE

    +201 478 9800
    +501 478 9800

    MOBILE

    0177 7536213 44,
    017 775362 13