Bab I Pengantar Ke Algoritma

dokumen-dokumen yang mirip
BAB II DASAR-DASAR DAN ATURAN PENULISAN ALGORITMA

Konstruksi Dasar Algoritma

BAB II DASAR-DASAR ALGORITMA

Pemrograman Dasar Kelas X RPL KONSEP DASAR ALGORITMA

Algoritma. Contoh Algoritma

Pengampu : Agus Priyanto, M.KOM

ALGORITMA & FLOWCHART

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T.

Proses, Instruksi, dan Aksi

Dasar-dasar Algoritma Dan Representasi Algoritma. Pengampu : Muhammad Zidny Naf an, M.Kom

Algoritma dan Pemrograman. Pertemuan Ke-2 Dasar-dasar Algoritma

Algoritma Dan Pemrograman

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

Pengenalan Algoritma

ALGORITMA & PEMROGRAMAN

PENGENALAN ALGORITMA & PEMROGRAMAN P E N G A N T A R T E K N O L O G I I N F O R M A S I ( T I F )

STRUKTUR DASAR ALGORITMA

Pertemuan 2 Konsep Dasar Algoritma

Pengenalan Algoritma & Pemrograman

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

Algoritma & Struktur Data I. Mia Fitriawati, S.Kom,M.Kom. Tujuan Perkuliahan

Pendahuluan. program

Alex Budiyanto.

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

Algoritma Pemrograman I

Algoritma dan Struktur Data

Yudha Dwi P. N. Pertemuan 2 Pengantar Algoritma

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom, M.Cs

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670)

Algoritma & Pemrograman #1

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom

Algoritma, Pseudo Code Flow Chart

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

IT234 ALGORITMA DAN STRUKTUR DATA

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR

Algoritma dan Pemrograman

PENGANTAR ALGORITMA. Brigida Arie Minartiningtyas, M.Kom

Pengantar Algoritma Pemrograman. # Kusnawi, S.Kom, M.Eng#

ALGORITMA DAN PEMROGRAMAN

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan konsep algoritma dan struktur data

LOGIKA & ALGORITMA PENGERTIAN & CONTOH ALGORITMA. Pertemuan ke 2. 9/24/2017 Logika Algoritma

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

BAB I PENGANTAR ALGORITMA DAN PROGRAM

STRUKTUR DASAR ALGORITMA

Algoritma Pemrograman 2C

Chapter 2 : Dasar-dasar Algoritma

Algoritma & Pemrograman

BAB I PENGENALAN ALGORITMA

Algoritma Pemrograman

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

Algoritma dan Struktur Data

Contoh algoritma 1. Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi kopi. Bagaimana caranya menukar isi masing-masing gelas?

7. Logika dan Algoritma Pemrograman

SEQUENCE. Program SEQ1 { Contoh penulisan sequence per baris } Program SEQ2 { Contoh penulisan sequence dengan tanda titik koma}

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS)

STRUKTUR DASAR ALGORITMA

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Algoritma Pemrograman

1. Algoritma & Pemrograman

Algoritma dan Pemrograman DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

Pengantar Sistem Komputer & Algoritma

Algoritma Dan Pemrograman. Pengampu : Muhammad Zidny Naf an, Lc., S.Kom., M.Kom

BAB I PENGANTAR ALGORITMA DAN PROGRAM

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

BAB I Pendahuluan. 1.1 Konsep Algoritma

Pendahuluan. Kuadran I (X>0, Y>0) Kuadran II (X<0, Y>0) Kuadran IV (X>0, Y<0) Kuadran III (X<0, Y<0)

Pertemuan 01. Pemrograman Dasar [PTI-5001 ] 2012

Algoritma dan Flowchart

BAB I Pengantar Algoritma dan Pemrograman

PERTEMUAN 4 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PEMILIHAN

Kata Pengantar... Daftar Isi... Daftar Padan Kata Inggris - Indonesia Pengantar ke Algoritma... 1

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

Pendahuluan Metode Numerik

Pemrograman Komputer Oleh : Agus Priyan : Agus Priy t an o t, o M.Kom M.K

PENGANTAR ALGORITMA PEMROGRAMAN

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

NomorDok : FRM/KUL/01/02 NomorRevisi : 02. Tgl.Berlaku : 1Oktober 2012 KlausaISO : & 7.5.5

# ONE PENGANTAR ALGORITMA PEMROGRAMAN

Pengantar Algoritma dan Program

I. PENGANTAR ALGORITMA

ALGORITMA. Bahasa Pemrograman adalah prosedur atau tata cara penulisan program.

Apa Itu Algoritma? Algoritma berasal dari: ahli

Algoritma dan Diagram Alir (Flowchart)

Algoritma Pemrograman

Program Development Cycle

Pemrograman Komputer Oleh : Agus Priyan : Agus Priy t an o t, o M.Kom M.K

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Selection, Looping, Branching

Alih Kontrol dengan Flowchart

ALGORITHM. 6 Algoritma, Flowchart & Program. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

Refreshing Materi Kuliah Semester Pendek 2010/2011. Logika dan Algoritma. Heri Sismoro, M.Kom.

Struktur Data Review Algoritma, Pemrograman. Presented by Rijal Fadilah, S.Si

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

Algoritma Dan Pemrograman [algoritma, program, flowchart] Presented by Rijal Fadilah, S.Si

Bab 4 Perintah Perulangan

Transkripsi:

Bab I Pengantar Ke Algoritma

1.1. Apa Itu Algoritma Kata algoritma sendiri berasal dari kata algorism yang berarti proses sebagai metode perhitungan komputasi ( Urutan logis pengambilan keputusan intuk penyelesaian masalah ) Penemu : Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizm Pada tahun 1950, algoritma sering dihubungkan dengan algoritma Eucledean yaitu proses untuk menentukan pembagi bersama terbesar dari dua bilangan bulat. Yaitu ; diberikan dua buah bilangan bulat positif m dan n ( dalam hal ini m >=n), carilah pembagi bersama terbesar,pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n. E1 bagilah m dengan n dan misalkan sisa hasil baginya adalah r. E2 apakah r = 0? Jika r=0, algoritma selesai, n adalah jawabannya, tetapi jika tidak maka dilanjutkan ke langkah E3. E3 ganti nilai m dengan nilai n, nilai n dengan nilai r, dan ulang kembali kelangkah E1.

Menurut Donald E. Knuth dalam bukunya yang berjudul the art of computer programmming, algoritma harus mempunyai lima ciri. 1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. 2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua. 3. Algoritma memiliki 0 atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja. 4. Algoritma mempunyai satu atau lebih keluaran (output). Keluaran ialah besaran yang memiliki hubungan dengan masukan 5. Algoritma harus sangkil ( efective ).Setiap langkah harus sederhana sehingga dapat dikerrjakan dengan sejumlah waktu yang masuk akal.

1.2. Proses, Langkah dan Aksi. Algoritma disusun oleh sederetan langkah yg logis. Tiap langkah tsb mengerjakan suatu tindakan/aksi. t o : keadaan sebelum aksi dikerjakan aksi t 1 : keadaan setelah aksi dikerjakan

Algoritma Euclidean dpt dipandang sebagai sebuah proses mencari pembagi bersama terbesar dari dua buah bilangan bulat positif, m dan n. t o : m dan n sudah terdefinisi nilainya, m>0, n>0 dan m>n E.1.Bagilah m dengan n dan misalkan r adalah sisanya t 1 : r adalah sisa hasil bagi, 0 r < n t 0 : r adalah sisa hasil bagi, 0 r < n E.2. Apakah r = 0? Jika r = 0, algoritma selesai; n adalah jawabannya, tapi jika tidak, lanjutkan ke langkah E3.

t 1 : r = 0 (n adalah jawabannya) atau r 0 t 0 : r 0 E.3. Ganti nilai m dengan nilai n, nilai n dengan nilai r dan ulang kembali ke langkah E1. t 1 : m = n dan n = r

Analisis yang tidak tajam terhadap permasalahan dapat menghasilkan algoritma yang tidak benar untuk beberapa kasus. Contoh : Menghitung lama percakapan di wartel. Algoritma menghitung selisih dua buah jam A1. baca jam mulai percakapan, misalkan j1:m1:d1 A2. baca jam selesai percakapan, misalkan j2:m2:d2 A3. hitung selisih (j2:m2:d2) dengan (j1:m1:d1) A4. tulis selisih langkah A3.

Apabila penelepon mulai percakapan pukul 21:40:12 dan selesai pukul 22:58:48, maka lama percakapan adalah (22:58:48)-(21:40:12) = (1:18:36) kasus lain: mulai percakapan = (21:50:58) selesai percakapan = (23:18:10) Selisihnya bukan (23:18:10) - (21:50:58) = (2:32:-48) Maka harus dikonversi semua jam ke detik 23:18:10 = 83890 detik 21:50:58 = 78658 detik - Selisih = 5232 detik = (1:27:22)

Dengan demikian, algoritma menghitung selisih dua buah jam diperhalus menjadi : Algoritma menghitung selisih dua buah jam A1. baca jam mulai percakapan, misalakan j1:m1:d1 A2. baca jam selesai percakapan, misalkan j2:m2:d2 A3.1 konversi j1:m1:d1 ke dalam jumlah detik A3.2 konversi j2:m2:d2 ke dalam jumlah detik A3.3 kurangi hasil langkah A3.2 dengan hasil langkah A3.1 A3.4 konversi hasil langkah A3.3 ke dalam jam:menit:detik A4. tulis hasil langkah A3.4

Langkah A3 telah diperhalus menjadi beberapa up aksi (subaction) A3.1, A3.2, A3.3 dan A3.4. Pendekatan desain algoritma seperti ini dinamakan penghalusan langkah atau perancangan puncak-turun (top-down design) Pendekatan ini sangat bermanfaat dalam membuat algoritma untuk masalah yg cukup rumit atau kompleks. Penghalusan langkah terus berlanjut sampai tiap langkah sudah cukup rinci dan tepat untuk dilaksanakan pemroses.

Dengan memperjelas langkah A3.1, A3.2, A3.3 dan memperhalus lagi langkah A3.4, maka : Algoritma menghitung selisih dua jam A1. baca jam mulai percakapan, misalkan j1:m1:d1 A2. baca jam selesai percakapan, misalkan j2:m2:d2 A3.1 hitung p = j1 x 3600 + m1 x 60 + d1 A3.2 hitung q = j2 x 3600 + m2 x 60 + d2 A3.3 hitung r = q p {selisih jumlah detik kedua jam} A3.4.1 hitung s = r/3600, misalkan sisanya adalah t {s adalah selisih dalam jam} A3.4.2 hitung u = t/60, misalkan sisanya adalah v {u adalah selisih dalam menit, v adalah selisih dalam detik} A4. tulis s:u:v {selisih kedua jam dalam jam:menit:detik}

1.3. Algoritma Merupakan Jantung Ilmu Informatika Algoritma adalah jantung ilmu informatika atau komputer. Banyak cabang ilmu yang diacu dalam terminologi algoritma, namun bukan berarti algoritma selalu identik dengan komputer. Dalam algotitma ada bagian yang mengerjakan langkah-langkah yang disebut dengan istilah pemroses(prosessor) dapat berupa alat, manusia, robot komputer dll

1.4. Perbedaan algoritma dengan Program Komputer hanyalah alat pemroses. Agar dapat dilaksanakan oleh komputer algoritma harus dinaytakan dalam bentuk yang disebut dengan program.jadi program adalah perwujudan atau implementasi dari algoritma yang ditulis dalam bahasa pemrograman tertentu dan dapat dilaksanakan oleh komputer.. Pembuat program adalah programmer. Kegiatan membuat program disebut programming. Tiap langkah dalam program disebut pernyataan atau instruksi. Secara garis besar komputer tersusun atas piranti masukan, pemroses dan piranti keluaran

Komponen Utama Komputer Piranti masukan CPU ( Unit Pemroses Utama ) Piranti Keluaran Memory

1.5. Belajar Memprogram & Belajar Bahasa Pemrograman. Belajar memprogram adalah belajar tentang strategi pemecahan masalah dan dan sistematika pemecahan masalah tersebut. Belajar bahasa pemrograman belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, cara pengoperasian compiler-nya dan memanfaatkan instruksiinstruksi tersebut untuk membuat program. Bahasa pemrograman dapat digolongkan mencjadi : 1) Bahasa Pemrograman bertujuan khusus. 2) Bahasa pemrograman bertujuan umum. Berdasarkan pada apakah bahasa tersebut lebih dekat ke mesin atau kemanusia maka bahasa dikelompokan menjadi ; 1) Bahasa tingkat rendah. 2) Bahasa tingkat tinggi.

Tahap Pelaksanaan Program Oleh Komputer Algoritma Pemrograman Program dalam Bahasa tingkat Tinggi Translasi Program dalam Bahasa mesin Interpretasi oleh CPU Proses yang diinginkan

Struktur Dasar Algoritma Ada tiga struktur dasar untuk membangun algoritma, yaitu : 1. Runtunan (sequence) 2. Pemilihan (selection) 3. Pengulangan (repetition)

Runtunan Aksi aksi dalam algoritma menghitung selisih dua buah jam akan dilaksanakan oleh pemroses sesuai dengan urutan penulisannya. Aksi aksi yg berurutan ini dinamakan runtunan. Tiap aksi di dalam runtunan dilaksanakan setelah aksi sebelumnya selesai dilaksanakan. Runtunan aksi dilambangkan dengan A1, A2, A3, A4 dan A5 : A1 A2 A3 A4 A5

Pemilihan Pada kasus selisih dua jam, harus diperiksa dulu apakah ia lebih kecil dari jam awal percakapan. Jika ya, maka tambahkan nilai 24 ke j2. Karena itu, langkah A2 diperhalus menjadi : A2.1 baca jam selesai bicara, misalkan j2:m2:d2 A2.2 if j2 < j1 then tambahkan j2 dengan 24 Jika j2 lebih besar dari j1, maka j2 tetap semula, pernyataan diatas dapat ditulis dalam bentuk umum: if kondisi then aksi

If jika, then maka Kondisi adalah pernyataan yang dapat ditentukan nilai kebenarannya (benar atau salah) Aksi hanya dilaksanakan apabila kondisi setelah kata if bernilai benar. Sebaliknya apabila kondisi bernilai salah, aksi sesudah kata then tidak dilaksanakan.

Pada langkah A2.2 hanya memberikan satu pilihan aksi bila kondisi dipenuhi bernilai benar dan tidak melakukan kasi apa2 jika konsidi bernilai salah. Bentuk pemilihan yg lebih umum ialah memilih satu dari dua buah aksi bergantung pada nilai kondisinya : if kondisi then aksi 1 else aksi 2 Else artinya kalau tidak. Bila kondisi bernilai benar, aksi 1 akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan. Misal : if jalanan macet then lewatlah di jalan tol else lewatlah di jalur biasa

Pengulangan Pada kasus pengulangan penulisan, bila dimasukkan ke dalam komputer, maka untuk mengatasinya digunakan kata kunci repeat (ulangi) dan times (kali). Contoh : Algoritma menulis 500 kalimat A2. Repeat 500 times tulis saya berjanji tidak akan nakal dan malas lagi Struktur pengulangan dapat ditulis secara umum : repeat N times aksi

Struktur pengulangan disebut kalang (loop). Bagian algoritma yang diulang disebut badan kalang (loop body). Aksi di dalam badan kalang akan dilaksanakan sebanyak N kali

Contoh : algoritma mencari alamat mahasiswa bila diketahui NIM dari sebuah tabel yang berisi data NIM, nama dan alamat seluruh mahasiswa. Algoritma pencarian di dalam tabel A1. baca NIM pertama di dalam tabel A2. repeat if NIM yang dibaca sama dengan NIM yang dicari maka tulis alamat mahasiswa yang bersangkutan else baca NIM berikutnya di dalam tabel end if until NIM ditemukan atau seluruh isi tabel sudah diperiksa