algoritma 1 semester 2

Upload: riyan-nugraha

Post on 12-Oct-2015

72 views

Category:

Documents


2 download

DESCRIPTION

Pertemuan pertama

TRANSCRIPT

  • LOGIKA ALGORITMAMATERI Pendahuluan Struktur dasar Algoritma (Notasi, Kondisi, Aksi), nama dan hargaTipe data dasar (Boolean, Integer, Real, Char, String)Tipe Bentukan (Record, Procedure, Fungsi). Pengkondisian (if_endif, if_else_endif, case_endcase) Perintah Pengulangan (while_endwhile), (repeat_until) dan (for_endfor)Procedure (variabel global dan lokal) dan parameter input, output dan input/outputFunction (parameter input dan output)Array (larik

  • PustakaHarry R. Lewis and Larry Denenberg Data Structures and Their Algorithms, HarperCollins Publishers Inc, 1991Inggriani Liem , Algoritma dan Pemrograman, ITB,1992Knuth, Fundamental of Algorithm, Addison Wisley, 1978Mewati Ayub, Ir Dasar-Dasar Pemrograman, DCI, 1994Niklause Wirth, Algorithms + Data Structures = Programs, Prentice Hall, 1991Antony Pranata, Algoritma dan Pemrograman,Graha Ilmu, Yogyakarta, 2005Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Informatika, 2005

  • LOGIKA ALGORITMAPenilaian :Partisipasi 10 % Tugas 20 % (Perorangan & kelompok) U T S 30 %U A S 40 %Jumlah: 100 %

  • Tugas Kelompok (maks 4 orang)Buat Makalah tentang Logika & Algoritma, dengan membahas tentang salah Materi Kuliah, misal. Struktur Dasar Algoritma, Fungsi seleksi Kondisi, Pengulangan dllMakalah harus sesuai dengan Aturan penulisan di PIKSI Ganesha.Isi Makalah terdiri dari Pendahuluan, Kajian Teoritis, dan Pembahasan

  • "Algoritma adalah urutan langkah-langkah logis penyeluatan masalah yang disusun secara sistematis dan logis". Kata logis merupakan kata kunci dalam algoritma.

    Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

    Definisi Algoritma

  • Pertimbangan penulisan Algoritma1. Algoritma haruslah benar

    2. Algoritma harus bisa diketahui seberapa baik hasilnya

    3. Algoritma harus efisien

  • Program merupakan kumpulan peryataan komputer.

    Metode dan tahapan sistematis dalam program adalah algoritma

    Program ditulis dalam bahasa pemrogramansehingga bisa dikatakan bahwa program adalah implementasi dari bahasa pemrograman.

    Program = Algoritma + Bahasa (Struktur Data)

    Hubungan Algoritma dengan Program

  • Keuntungan membuat algoritma a.l :

    1. Tidak tergantung pada bahasa pemrograman

    2. Notasi Algoritma dapat diterjemahkan ke berbagai bahasa pemrograman

    3. Output yang dihasilkan sama

  • Contoh Algoritma dalam kehidupan sehari hari :Persoalan : Membuat pakaian

    Algoritma : Pola PakaianLangkah dalam algoritma : Gunting pakaian dari kiri bawah ke arah kanan sejauh 5 cm

  • Mekanisme pelaksanaan Algoritma oleh Pemroses :Agar dapat dilaksanakan oleh komputer Algoritma harus ditulis dalam bahasa pemrograman yang disebut programJadi program sebagai implementasi teknis dari algoritma

  • Kegiatan membuat program disebut pemrograman.Orang yang menulis program disebut pemrogramBelajar memprogram adalah belajar tentang metodologi pemecahan masalah dan menuangkannya kedalam notasi tetentu yang mudah dibaca dan dipahami.Belajar bahasa pemrograman berarti belajar memakai suatu bahasa dan aturan tata bahasanya

  • Contoh Bahasa Pemrograman

    Assembly Fortran Cobol Pascal C / C++ Basic Prolog

  • Pembagian Bahasa Pemrograman

  • Bahasa tingkat rendah, dirancang agar setup instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya : bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya.Bahasa tingkat rendah bersifat primitit sangat sederhana, orientasinya lebilr dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan intruksinya masih perlu penerjemahan ke dalam bahasa mesin

  • Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih "manusiawi", dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhimya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, dan sebagainya

  • Persyaratan sebuah Algoritma yang BaikReliabelPemrosesan yang efisienBesrifat generalDapat dikembangkanMudah dimengertiPortabilitas tinggiPresisiJunlah intrsuksi tertentuEfektifHarus terminateHasil tepat

  • Penyajian AlgoritmaPseudocode (kode yang mirip dengan program)Flowchart (Penyahian algoritma dengan gambar)

  • Runtunan PemilihanPerulangan

    Struktur dasar Algoritma

  • RuntunanSebuah runtunan terdiri dari satu atau lebih pernyataan. Tiap pernyataan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi menentukan keadaan akhir algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah.

  • Algoritma merupakan runtunan (sequence) satu atau lebih instruksi, yang berarti bahwa:Tiap instruksi dikerjakan satu per satu.Tiap instruksi dilaksanakan tepat sekali; tidak ada instruksi yang diulang;Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi sebagaimana yang tertulis di dalam teks algoritmanya.Akhir dari instruksi terakhir merupakan akhir algoritma.

  • Contoh: Program Tukar_isi Algoritma :Tuangkan air dari gelas A ke dalam gelas CTuangkan air dari gelas B ke dalam gelas ATuangkan air dari gelas C ke dalam gelas BAlgoritma di atas disusun oleh runtunan yang terdiri atas 3 buah pernyataan. Tiap pernyataan akan dieksekusi dalam urutan yang sama sebagaimana tertulis dalam teks algoritma tersebut. Hasil akhir dari algoritma diatas adalah gelas A berisi air dari gelas B, dan gelas B berisi air dari gelas A sebelumnya.

  • Pemilihan/Pengkondisian/PercabanganSewaktu-waktu dalam kehidupan sehari-hari kita dihadapkan pada sebuah kondisi atau lebih, dimana kita harus memilih salah satunya. Begitu pula dengan program, pada suatu saat kita perlu membuat suatu aturan untuk melakukan pemilihan terhadap suatu kondisi, yang memungkinkan kita untuk membuat deretan instruksi yang sama, namun menghasilkan eksekusi yang berbeda-beda.Pernyataan pemilihan memungkinkan suatu pernyataan dieksekusi hanya jika suatu kondisi terpenuhi atau tidak terpenuhi.

  • Contoh : Program Pemilihan Algoritma :If hujan turun Then Pakai payungElse Tidak pakai payung

  • Algoritma tsb disusun oleh 4 baris instruksi.Hasil akhir dari algoritma di atas adalah sesuai dengan kondisi, yaitu:

    Jika kondisi terpenuhi artinya hujan turun , maka hasil akhir dari algoritma di atas adalah Pakai payung Jika kondisi tidak terpenuhi, artinya tidak turun hujan, maka hasil akhir dari algoritma di atas adalah Tidak pakai payung

  • PengulanganPengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali.Dengan kata lain, pengulangan memungkinkan Anda menjalankan beberapa pernyataan hanya dengan menuliskan pernyataan 1 kali saja.Contoh : Program Tulis_1000_kaliDeklarasi : i: integer Algoritma :for i dari 1 sampai 1000 do Tulis Saya belajar Logika dan Algoritma

  • Algoritma tsb disusun oleh 2 baris instruksi. Hasil akhir dari algoritma di atas adalah menuliskan kalimat Saya belajar Logika dan Algoritma sebanyak 1000 kali. Dari algoritma di atas, dapat diketahui bahwa i adalah pencacah pengulangan yang mencacah pengulangan dari 1 sampai 1000. Komputer akan melaksanakan aksi tulis kalimat sebanyak pencacahan, yaitu 1000 kali.

  • Notasi Algoritma Teks algoritma berisi deskripsi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat ditulis dalam notasi algoritmik apa pun, asalkan mudah dibaca dan dimengerti. Penulisan algoritma tidak bergantung pada Bahasa Pemrograman dan Komputer

  • Asalkan notasinya dapat diterjemahkan ke dalam Bahasa PemrogramanNotasi algoritmik bukan notasi baku sebagaimana pada notasi bahasa pemrograman. Namun kekonsistenan terhadap suatu notasi perlu diperhatikan untuk menghindari kekeliruan.

  • Beberapa notasi yang digunakan untuk menulis algoritma :( Masalah yang dijadikan contoh adalah menentukan apakah suatu bilangan merupakan bilangan genap atau bukan )Notasi I : Menggunakan diagram alir (flow chart)Gambar Diagram Alir Kasus Penentuan Bilangan Genap Atau Ganjil

  • Notasi II : Menggunakan Pseudo-Code (notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya bahasa Pascal & C )

  • Perbandingan Notasi I & II :Notasi I :Diagram alir lebih menggambarkan aliran instruksi di dalam program secara visual ketimbang memperlihatkan struktur program. Notasi algoritmik dengan diagram alir cocok untuk masalah yang kecil, namun tidak cocok untuk masalah yang besar, karena akan membutuhkan berlembar halaman kertasPengkonversian (translasi) notasi algoritma ke notasi bahasa pemrograman juga cenderung relatif sukar.

  • Notasi II:Keuntungan menggunakan notasi pseudo-code adalah kemudahan mengkonversinya (mentranslasi) ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo-code dengan notasi bahasa pemrograman.

  • ATURAN PENULISAN ALGORITMAJudul AlgoritmaBerisi nama penjelasan algoritmaDeklarasiMendefinisikan semua tipe, variable, fungsi dan prosedurAlgoritmaBagian utama AlgoritmaSekumpulan perintah untuk penyelesaian permasalahanDitulis dengan notasi tertentu (standar

  • STRUKTUR PENULISAN ALGORITMA Pada dasarnya, teks algoritma selalu disusun oleh 3 bagian (blok), yaitu :Bagian judul (header)Bagian deklarasi (declaration)Bagian algoritma

  • Dalam bahasa Pascal :

  • Dalam bahasa C :

  • Beberapa hal penting yang harus diketahui dari Bahasa C dan Pascal adalah :Bahasa C bersifat case sensitive, artinya Bahasa C membedakan huruf besar dengan huruf kecil. Misalnya a tidak sama dengan A. Berbeda dengan bahasa Pascal yang tidak case sensitive.

  • Dalam bahasa C, deklarasi yang didefinisikan sebelum kata main() adalah deklarasi global, artinya semua yang didefinisikan di dalam deklarasi global dikenal diseluruh bagian program, termasuk di dalam fungsi atau prosedur yang ada di dalam program itu. Apabila deklarasi didefinisikan di dalam main(), maka nama di dalam bagian deklarasi (disebut deklarasi lokal) hanya dikenal oleh program utama saja, tetapi tidak dikenal oleh fungsi atau prosedur.

  • Dalam bahasa C, komentar ditulis diantara /* dan */ . Sedangkan dalam bahasa Pascal, komentar dapat ditulis diantara { dan } atau diantara (* dan *).

  • Contoh :Tuliskan Algoritma untuk menuliskan atau mencetak nama sesuai dengan input dari keyboard!ALGORITMIK :

  • PASCAL:

  • C :

  • Keterangan : pernyataan #include adalah pernyataan untuk melibatkan pustaka standard yang berisi operasi masukan/keluaran (operasi baca/scanf dan tulis/printf). Pustaka masukan dan keluaran ini terdapat di dalam file header stdio.h.

  • Definisikan MasalahBuat Algortma dan struktur penyelesaianMenulis ProgramMencari KesalahanUji dan verifikasiDokumentasiPemeliharaan

    Tahapan dalam Pemrograman

  • Contoh Kasus dan penyelesaianMenghitung Luas dan Keliling LingkaranCara Kerja sbb :Baca jari-jari lingkaranTentukan konstanta phi = 3,14Hitung Luas dan keliling Luas = phi x r x r Keliling = 2 x phi x rCetak Luas dan Keliling