alogaritma. revpdf

Embed Size (px)

Citation preview

  • 7/28/2019 alogaritma. revpdf

    1/24

    Bahasa PemrogramanBahasaBahasa PemrogramanPemrogramanAlogaritmaAlogaritma PemrogramanPemrograman,,FlowchartFlowchart dandan PseucodePseucode

    Jurusan Teknik Sipil

    Fakultas TeknikUniversitas Bangka Belitung

    2012

    Ferra Fahriani, MT

  • 7/28/2019 alogaritma. revpdf

    2/24

    Program

    Bagian-bagian program : Input

    Proses

    Output : Minimal satu output

  • 7/28/2019 alogaritma. revpdf

    3/24

    Langkah-langkah pembuatan program :1. Mendefinisikan Masalah

    2. Mencari Solusi (menganalisis dan membuatrumusan pemecahan masalah)

    3. Membuat Algoritma

    4. Menulis Program5. Menguji Program

    6. Menulis Dokumentasi

  • 7/28/2019 alogaritma. revpdf

    4/24

    Mendefinisikan Masalah Langkah mendefinisikan masalah ini

    seringkali dilupakan oleh orang /programmer

    Tentukan masalahnya, apa saja yang harusdipecahkan dengan menggunakan komputer,

    dan apa inputan serta outputnya.

  • 7/28/2019 alogaritma. revpdf

    5/24

    Mencari Solusi

    Jika masalah terlalu kompleks, maka adabaiknya masalah tersebut dipecah menjadimodul-modul kecil agar lebih mudahdiselesaikan.

    Contohnya masalah invers matriks, maka kitadapat membagi menjadi beberapa modul:

    meminta masukkan berupa matriks bujur sangkar

    mencari invers matriks

    menampilkan hasil kepada pengguna

    Dengan penggunaan modul tersebut programutama akan menjadi lebih singkat dan mudahdilihat.

  • 7/28/2019 alogaritma. revpdf

    6/24

    Membuat Algoritma

    Dalam membuat algoritma usahakan

    memenuhi dua (syarat) utama, yaitu :

    Algoritma harus seefesien mungkin

    Algoritma harus benar-benar sesuai dengansolusi yang kita dapatkan

  • 7/28/2019 alogaritma. revpdf

    7/24

    Menulis Program

    Pilihlah bahasa yang mudah dipelajari,

    mudah digunakan, dan lebih baik lagi jikasudah dikuasai, memiliki tingkat

    kompatibilitas tinggi dengan perangkatkeras dan perangkat lainnya.

  • 7/28/2019 alogaritma. revpdf

    8/24

    Menguji Program

    Setelah program jadi, silahkan ujiprogram tersebut dengan segala

    macam kemungkinan yang ada,termasuk error-handlingnya sehingga

    program tersebut akan benar-benarhandal dan layak digunakan.

  • 7/28/2019 alogaritma. revpdf

    9/24

    Menulis Dokumentasi

    Menulis dokumentasi sangat penting agarpada suatu saat jika kita akan melakukan

    perubahan atau membaca source code yangsudah kita tulis dapat kita ingat-ingat lagi

    dan kita akan mudah membacanya.Caranya adalah dengan menuliskan

    komentar-komentar kecil tentang apamaksud kode tersebut, untuk apa, variabelapa saja yang digunakan, untuk apa, dan

    parameter-parameter yang ada pada suatuprosedur dan fungsi.

  • 7/28/2019 alogaritma. revpdf

    10/24

    Algoritma

    Asal kata Algoritma berasal dari nama

    seorang ilmuan Persian yang bernama AbuJafar Mohammed lbn Musa al-Khowarizmi,yang menulis kitab al jabr wal-muqabala(rules of restoration and reduction)

  • 7/28/2019 alogaritma. revpdf

    11/24

    Definisi Algoritma

    Definisi Algoritma :Urutan langkah-langkah logis tertentu untuk

    memecahkan suatu masalah secara sistematis dan logis

    Guna algoritma adalah untuk membantu seseorang dalammenyelesaikan suatu masalah berdasarkan pada polapikirnya masing-masing.

    Sehingga: Algoritma harus mengikuti suatu urutan aturan

    tertentu dan tidak boleh melompat-lompat

    Algoritma seseorang dengan yang lain dapat berbeda-beda karena mempunyai alur pikir yang berbeda-bedapula

    Algoritma dapat berupa kalimat, gambar (flowchart)

    atau tabel/code tertentu (pseudo code)

  • 7/28/2019 alogaritma. revpdf

    12/24

    Kriteria Algoritma

    Input: algoritma dapat memiliki nol atau lebihinputan dari luar.

    Output: algoritma harus memiliki minimal satubuah output keluaran.

    Definiteness (pasti): algoritma memiliki instruksi-

    instruksi yang jelas. Finiteness (ada batas): algoritma harus memiliki

    titik berhenti (stopping role).

    Effectiveness (tepat dan efisien): algoritmasebisa mungkin harus dapat dilaksanakan danefektif. Contoh instruksi yang tidak efektif

    adalah: A = A + 0 atau A = A * 1

  • 7/28/2019 alogaritma. revpdf

    13/24

    Sifat Algoritma

    Sifat-sifat Algoritma pada umumnya:

    Tidak menggunakan simbol atau sintaksdari suatu bahasa pemrograman

    Tidak tergantung pada suatu bahasapemrograman

    Notasi-notasinya dapat digunakan untukseluruh bahasa manapun

  • 7/28/2019 alogaritma. revpdf

    14/24

    Bentuk-Bentuk Dasar Alogaritma Alogaritma Sekuensial : alur pemikiran yang

    tersetruktur,terurut,pasti, dan jelas untukmenyelesaikan masalah Alogaritma Percabangan : alogaritma untuk

    memilih satu dari beberapa pilihan yang adaberdasarka kondisi tertentu.

    Alogaritma Perulangan : terdapat satu ataulebih kejadain/tindakan yang harus diulang

    terus menerus sampai kondisi tidak terpenuhilagi

  • 7/28/2019 alogaritma. revpdf

    15/24

    Flowchart

    Definisi : Bentuk gambar/diagram yang mempunyai aliran satu atau

    dua arah secara sekuensial

    Kegunaan :

    Mempermudah programmerdalam menentukan alurlogika program

    Untuk mempresentasikan program kepada orang lain

    Maka, flowchart harus dapat merepresentasikan

    komponen-komponen dalam bahasa pemrograman

  • 7/28/2019 alogaritma. revpdf

    16/24

    Pedoman Pembuatan Flowchart

    Flowchart sebaiknya digambar dari atas kebawahdan dimulai dari bagian kiri suatu halaman

    Kegiatan di dalam flowchart harus ditunjuk denganjelas Harus ditunjukkan dari mana kegiatan dimulai dan

    dimana akan berakhir Masing2 kegiatan dlm flowchart harus didalam

    urutan yang tepat Kegiatan yang terpotong akan disambung ke

    tempat lain harus ditunjukkan dengan jelasmenggunkan simbol penghubung yang benar.

    Gunakan simbol-simbol alir yang standar

  • 7/28/2019 alogaritma. revpdf

    17/24

    Lambang-Lambang Flowchart

    LAMBANG KETERANGAN

    Terminator(Mulai / Selesai)

    Aliran Data

    Input / Output

    Process/ Proses

  • 7/28/2019 alogaritma. revpdf

    18/24

    Lambang-Lambang FlowchartLAMBANG KETERANGAN

    Decision/ Percabangan

    Preparation/ MemberiNilai Awal Variabel

    Predefined Process/Prosedur

    Sub-Program

  • 7/28/2019 alogaritma. revpdf

    19/24

    Lambang-Lambang FlowchartLAMBANG KETERANGAN

    Connectorpada halaman yangsama

    Connector pada halaman lain

    Stored Data /Simpan Data

    Display/ Tampilkan

  • 7/28/2019 alogaritma. revpdf

    20/24

    Contoh Flowchart

    Menghitung luas persegi

    panjang Algoritma :

    1. Masukkan nilai panjang (p)

    2. Masukkan nilai lebar (l)

    3. Hitung luas (L), yaitupanjang dikali lebar (p x l)

    4. Cetak luas (L)

    Mulai

    Masukkanp

    Masukkan l

    Luas = p* l

    Tulis L

    Selesai

  • 7/28/2019 alogaritma. revpdf

    21/24

    Pseudo-code

    Pseudo-code adalah kode atau tanda yang menyerupai(pseudo) atau merupakan penjelasan caramenyelesaikan suatu masalah.

    Pseudo-code sering digunakan oleh seseorang untukmenuliskan algoritma dari suatu permasalahan.

    Pseudo-code berisikan langkah-langkah untuk

    menyelesaikan suatu permasalahan [hampir samadengan algoritma], hanya saja bentuknya sedikitberbeda dari algoritma.

    Pseudo-code menggunakan bahasa yang hampirmenyerupai bahasa pemrograman. Selain itu biasanyapseudo-code menggunakan bahasa yang mudahdipahami secara universal dan juga lebih ringkas dari

    pada algoritma.

  • 7/28/2019 alogaritma. revpdf

    22/24

    ContohBeda antara algoritma dan pseudo-code

    Algoritma Pseudo-CodeNilai x ditambah 3 x x + 3

    Cetak nilai y jika lebih besar dari 5 if y > 5 THEN PRINT y

    Cari bilangan terbesar antara x dan y If x > y THEN PRINT x ELSE PRINT y

  • 7/28/2019 alogaritma. revpdf

    23/24

    Beda antara algoritma dan pseudo-code

    Algoritma Pseudocode

    Jika sudah selesai,cetak invoice IFKONDISI_SELESAI=DONE THENPRINT INVOICE

    NilaiAdibagidengan2 AA/2Jika nilai Alebih besar dari 2 IFA>2THENAAx3maka nilai Adikalikan 3Daridua bilangan Adan B, IFA>BTHENPRINTAELSEPRINTBcari bilangan yangterbesarMasukkan semua mata kuliah yang DARIMATKUL=OSAMPAIMATKUL

  • 7/28/2019 alogaritma. revpdf

    24/24

    Pseudo-code

    Sebenarnya tidak ada aturan mengikat tentangpenulisan algoritma dan pseudo-code, karenaguna kedua hal ini adalah untuk memudahkanseseorang untuk menggambarkan urutan suatukejadian. Biasanya untuk para programmer, gunakedua hal ini adalah sebagai dasar alurpembuatan program. Di mana dapatmerepresentasikan alur cerita dari clienttentang kebutuhan dasar dari sebuah program,sehingga lebih mudah untukdipahami.

    Jadi pseudo-code bisa dikatakan juga sebagaialgortima yang sudah sedikit digabungkandengan bahasa pemrograman yang akandigunakan.