oleh : Edhy Suta tanta

dokumen-dokumen yang mirip
POKOK BAHASAN. Matematika Lanjut 2 Sistem Informasi

Pendahuluan

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN : 3 & 4

Oleh : Anna Nur Nazilah Chamim

BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN

Pertemuan 6: Metode Least Square. Achmad Basuki Politeknik Elektronika Negeri Surabaya 2014

PERTEMUAN 10 METODE DEVIDE AND CONQUER

METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN-1

PERTEMUAN 10 METODE DEVIDE AND CONQUER

BUKU RANCANGAN PENGAJARAN MATA AJAR METODE NUMERIK. oleh. Tim Dosen Mata Kuliah Metode Numerik

MODUL PRAKTIKUM METODE NUMERIK NAZARUDDIN

PENDAHULUAN METODE NUMERIK

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

PENYELESAIAN SISTEM PERSAMAAN LINIER KOMPLEKS MENGGUNAKAN METODE ITERASI GAUSS-SEIDEL TUGAS AKHIR

BAB VI Pengurutan (Sorting)

Pendahuluan Metode Numerik Secara Umum

BAB II PROSES REKURSI DAN ITERASI

BAB III : SISTEM PERSAMAAN LINIER

METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN-2

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

RENCANA PEMBELAJARAN SEMESTER (RPS)

2.3 Algoritma Tidak Berhubungan dengan Bahasa Pemrograman Tertentu

METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN : 8

KATA PENGANTAR. Puji syukur kami panjatkan ke hadirat Alloh SWT atas terbentuknya Lembar Tugas

PERTEMUAN 15 REVEW/QUIZ

Bab 1. Pendahuluan Metode Numerik Secara Umum

Modul Praktikum Analisis Numerik

Pendahuluan Metode Numerik Secara Umum

APLIKASI ANALISIS TINGKAT AKURASI PENYELESAIAN PERSAMAAN NON LINIER DENGAN METODE BISEKSIDAN METODE NEWTON RAPHSON

BAB X MATRIK DAN SISTEM PERSAMAAN LINIER SIMULTAN

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

ALGORITMA PENGURUTAN & PENCARIAN

STRATEGI DIVIDE AND CONQUER

Course Note Numerical Method : Interpolation

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Analisis Kecepatan Sorting Dengan Notasi Big O

BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR

METODE DEVIDE AND CONQUER

TEORI DAN PRAKTEK PEMROGRAMAN TURBO PASCAL/Edhy

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Modul Praktikum Analisis Numerik

BAB V HITUNG INTEGRAL

MOTIVASI. Secara umum permasalahan dalam sains dan teknologi digambarkan dalam persamaan matematika Solusi persamaan : 1. analitis 2.

Langkah Awal menuju Analisis Kompleksitas Algoritma

48. Mata Pelajaran Matematika untuk Sekolah Menengah Atas Luar Biasa Tunalaras (SMALB E) A. Latar Belakang

Kata Pengantar. Medan, 11 April Penulis

PENENTUAN FAKTOR KUADRAT DENGAN METODE BAIRSTOW

Kontrak Perkuliahan & Introduction

PETUNJUK PRAKTIKUM MATLAB LANJUT

BAHAN AJAR. Mata Kuliah Struktur Data. Disusun oleh: Eva Yulianti, S.Kom.,M.Cs

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

BAB XI METODA COBA-SALAH (TRIAL-ERROR)

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Pengurutan (Sorting) Algoritma Pemrograman

BAB 3 PENYELESAIAN PERSAMAAN NON LINIER

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

BAB I PENDAHULUAN.

BAB II LANDASAN TEORI

STRUKTUR DATA SORTING ARRAY

REGRESI LINEAR DAN ELIMINASI GAUSS

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

METODE NUMERIK SEMESTER 3 2 JAM / 2 SKS. Metode Numerik 1

BAB 2 TINJAUAN PUSTAKA

ISBN. PT SINAR BARU ALGENSINDO

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer

RENCANA PEMBELAJARAN SEMESTER

SILABUS MATAKULIAH. : Mahasiswa menyelesaikan permasalahan matematika yang bersifat numerik.

RENCANA PEMBELAJARAN SEMESTER

Silabus dan Satuan Acara Perkuliahan

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Gambar 13.1 Ilustrasi proses algoritma sorting

BAB ΙΙ LANDASAN TEORI

BAB 4 Sistem Persamaan Linear. Sistem m persamaan linear dalam n variabel LG=C adalah himpunan persamaan linear

1.1 Sistem Komputer... 2

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

[ 1 1 PENDAHULUAN SCILAB. Modul Praktikum Metode Numerik. 1. Struktur Scilab

UNIVERSITAS BINA NUSANTARA

Sorting Algorithms. Definisi

7. SORTING DAN SEARCHING

MATA KULIAH ANALISIS NUMERIK

44. Mata Pelajaran Matematika untuk Sekolah Menengah Atas (SMA)/ Madrasah Aliyah (MA)

Metode Simpleks M U H L I S T A H I R

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

MODUL IV PENCARIAN DAN PENGURUTAN

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

POHON CARI BINER (Binary Search Tree)

SILABUS STRUKTUR DATA ( TIF-104 ) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

BAB VII ALGORITMA DIVIDE AND CONQUER

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

Prakata Hibah Penulisan Buku Teks

Modul 8 SORTING (PENGURUTAN)

Algoritma dan Struktur Data. Searching dan Sorting

Ilustrasi Persoalan Matematika

Transkripsi:

ALGORITMA TEKNIK PENYELESAIAN PERMASALAHAN UNTUK KOMPUTASI oleh : Edhy Sutanta i

KATA PENGANTAR Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa atas limpahan rahmat dan karunia-nya sehingga buku ini dapat diselesaikan. Buku ini membahas secara khusus tentang fase penyelesaian permasalahan (problem solving phase) dalam dunia komputasi yang lebih dikenal dengan solusi dalam bentuk algoritma. Algoritma merupakan suatu himpunan berhingga langkah-langkah / prosedurprosedur logika yang harus dilaksanakan untuk menyelesaikan suatu permasalahan yang berorientasi pada pemrograman komputer. Tujuan algoritma adalah memberikan petunjuk tentang langkah / prosedur logika penyelesaian suatu permasalahan dalam bentuk yang mudah dipahami secara nalar sebagai acuan yang membantu saat mengembangkan program komputer. Pemahaman tentang algoritma merupakan aspek kritis dalam pemrograman komputer, yakni guna memperoleh kebenaran logika (logical validity) program aplikasi yang dikembangkan. Pemahaman tentang algoritma akan mencegah sejak dini kemungkinan terjadinya kesalahan logika pada program komputer yang dikembangkan. Peranan algoritma menjadi penting, karena kesalahan logika program akan mengakibatkan kesalahan yang fatal pada hasil eksekusinya. Memahami solusi permasalahan dalam bentuk algoritma, berarti mengerti tentang permasalahannya dan mengerti tentang bagaimana menyelesaikannya dengan benar. Hal seperti ini jauh lebih penting dan bermanfaat. Kebiasaan cara berpikir logis, terstruktur, dan sistematis dan kemampuan menerapkan trik-trik yang tepat dalam menyelesaikan suatu permasalahan, merupakan tuntutan dan sekaligus menjadi keuntungan nyata bagi seseorang yang mempelajari algoritma. Pada sisi lain pemahaman konsep algoritma menuntut kita untuk dapat menentukan pilihan alternatif solusi yang paling tepat bagi program aplikasi. Buku ini ditujukan bagi para mahasiswa Manajemen Informatika, Teknik Informatika, Ilmu Komputer atau siapapun yang tertarik mempelajari konsep algoritma dan pemrograman komputer. Buku ini dapat dipakai tanpa harus bergantung pada salah satu bahasa pemrograman, sehinga penerapannya menjadi sangat fleksibel. Kehadiran buku ini di tangan para Pembaca merupakan wujud kerja sama yang baik dari berbagai pihak. Suatu kebahagiaan bagi Penulis untuk dapat menyampaikan ucapan terima kasih dan penghargaan kepada keluarga besar Jurusan Teknik Informatika, FTI, ISTA Yogyakarta. Penulis menyadari bahwa setiap karya dan usaha yang telah dilakukan terhadap buku ini masih mengandung kekurangan dan kedangkalan, oleh karena itu saran, kritik yang membangun senantiasa diharapkan sebagai umpan balik yang positif. Semoga bermanfaat.! Yogyakarta, September 2007 Penulis ii

DAFTAR ISI BAB I. PENDAHULUAN 1.1. Konsep Algoritma 1.2. Program komputer 1.3. Konsep Program Terstruktur 1.4. Struktur Proses Dalam Algoritma 1.5. Data Komputasi 1.6. Tipe data 1.7. Pseudocode 1.8. Bagan Alir (Flowchart) BAB II. PROSES REKURSI DAN ITERASI 2.1. Konsep Rekursi dan Iterasi 2.2. Beberapa Contoh Permasalahan 2.3. Keunggulan Dan Kelemahan Teknik Rekursi dan Iterasi BAB III. METODA LEAST SQUARE 3.1. Regresi Linier Sederhana 3.2. Regresi Polinomial BAB IV. MENGHITUNG AKAR-AKAR PERSAMAAN 4.1. Menghitung Akar-akar Persamaan Kuadrat 4.2. Menghitung Akar-akar Persamaan Suku Banyak 4.3. Perbandingan Antar Metoda BAB V. HITUNG INTEGRAL 5.1. Metoda Simpson 5.2. Metoda Empat Persegi Panjang (Rectangle) 5.3. Metoda Segi Empat Sembarang (Trapezoid) BAB VI. PENGURUTAN DATA (SORTING) 6.1. Metoda Seleksi Langsung (Straight Selection) 6.2. Metoda Gelembung (Buble Sort) 6.3. Contoh Penyisipan Langsung (Straight Insertion) 6.4. Metoda Penyisipan Biner (Binary Insertion) 6.5. Metoda Quick Sort (Partition Exchange Sort) 6.6. Metoda Shell Short (Diminishing Increment) 6.7. Metoda Merge Sort (Two-Way Marge Sort) 6.8. Metoda Radix Sort BAB VII. PENCARIAN DATA (SEARCHING) 7.1. Metoda Pencarian Langsung (Linear Search) 7.2. Metoda Pencarian Biner (Binary Search) BAB VIII. MENGGABUNGKAN DUA VEKTOR (MERGING) 8.1. Penggabungan Sederhana (Simple Merge) 8.2. Mailing List iii

BAB IX. OPERASI MATRIK 9.1. Operasi Penjumlahan 9.2. Operasi Perkalian 9.3. Matrik Transpose 9.4. Matrik Invers BAB X. MATRIK DAN SISTEM PERSAMAAN LINIER SIMULTAN 10.1. Metoda Eliminasi Gauss 10.2. Metoda Eliminasi Gauss-Jordan 10.3. Metoda Iterasi Jacobi 10.4. Metoda Iterasi Gauss-Seidel BAB XI. METODA COBA-SALAH (TRIAL-ERROR) 11.1. Mencari Penyelesaian Fungsi Persamaan 11.2. Menghitung Akar Kuadrat Bilangan Integer BAB XII. MENCARI DATA MAKSIMUM DAN MINIMUM 12.1. Mencari Data Maksimum 12.2. Mencari Data Minimum BAB XIII. MENGECEK KESAMAAN DUA VEKTOR 13.1. Mengecek Kesamaan Dua Vektor Tidak Urut 13.2. Mengecek Kesamaan Dua Vektor Urut BAB XIV. OPERASI KARAKTER 14.1. Membalik Kalimat 14.2. Mengetes Kata Palindrom iv

DAFTAR GAMBAR Gambar 1.1 : Hubungan antara suatu permasalahan, algoritma, dan program komputer Gambar 1.2. menunjukkan struktur proses berurutan dalam algoritma Gambar 1.3 : Struktur proses perulangan bersarang Gambar 1.4 : Langkah kerja penerjemah Gambar 1.5 : Beberapa simbol dalam flowchart Gambar 1.6 : Flowchart menghitung luas persegi panjang Gambar 1.7 : Flowchart menghitung sisa uang pembayaran Gambar 1.8 : Flowchart mengecek kesamaan dua angka masukan Gambar 2.1 : Flowchart prosedur perkalian dua bilangan integer secara rekursi Gambar 2.2 : Flowchart prosedur perkalian dua bilangan integer secara iterasi Gambar 2.3 : Flowchart prosedur mencari bilangan FIBONACCI secara rekursi Gambar 2.4. : Flowchart prosedur mencari bilangan FIBONACCI secara iterasi Gambar 2.5. : Flowchart prosedur menghitung nilai Faktorial secara rekursi Gambar 2.6. : Flowchart prosedur menghitung nilai faktorial secara iterasi Gambar 3.1 : Fungsi least square pada regresi linier sederhana Gambar 3.2 : Flowchart prosedur mencari koefisien persamaan regresi dengan metoda regresi linier Gambar 3.3 : Flowchart sistem mencari koefisien-koefisien persamaan pada regresi polinomial Gambar 4.1 : Flowchart menghitung akar-akar persamaan kuadrat Gambar 4.2 : Konsep model matematis pengolahan data Gambar 4.3 : Mencari akar-akar persamaan suku banyak dengan pendekatan metoda Newton Gambar 4.4 : Flowchart menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Newton Gambar 4.5 : Mencari akar-akar persamaan suku banyak dengan metoda Secant dengan pendekatan dari satu sisi Gambar 4.6: Mencari akar-akar persamaan suku banyak dengan metoda Secant dengan pendekatan dari dua sisi Gambar 4.7 : Flowchart prosedur menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Secant Gambar 4.8: Mencari akar-akar persamaan suku banyak dengan pendekatan metoda Succesive Bisection Gambar 4.9 : Flowchart prosedur menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Succesive Bisection Gambar 4.10: Mencari akar-akar persamaan suku banyak dengan pendekatan metoda Fixed Point Iteration Gambar 4.11: Kegagalan konvergensi pada metoda Fixed Point Iteration Gambar 4.12 : Flowchart menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Fixed Point Iteration Gambar 5.1 : Luas daerah terasir di bawah kurva Y=F(X) antara titik A dan B B adalah sama dengan A F ( X ) dx Gambar 5.2: Menghitung luas daerah di bawah kurva F(X) dengan pendekatan metoda Simpson v

Gambar 5.3 : Flowchart prosedur menghitung B A F ( X ) dx dengan metoda Simpson Gambar 5.4: Menghitung luas daerah di bawah kurva F(X) dengan pendekatan metoda empat persegi panjang Gambar 5.5 : Flowchart prosedur menghitung dengan metoda empat persegi Gambar 5.6: Menghitung luas daerah di bawah kurva F(X) dengan pendekatan metoda segi empat sembarang Gambar 5.7 : Flowchart prosedur menghitung B A B A F ( X ) dx F ( X ) dx dengan metoda segi empat Gambar 6.1: Flowchart prosedur pengurutan data secara urut naik dengan metoda seleksi langsung Gambar 6.2: Flowchart prosedur pengurutan data secara urut turun dengan metoda seleksi langsung Gambar 6.3: Flowchart prosedur pengurutan data secara urut naik dengan metoda gelembung Gambar 6.4: Flowchart prosedur pengurutan data secara urut turun dengan metoda gelembung Gambar 6.5: Flowchart prosedur pengurutan data secara urut naik dengan metoda penyisipan langsung Gambar 6.6: Flowchart prosedur pengurutan data secara urut turun dengan metoda penyisipan langsung Gambar 6.7: Flowchart prosedur pengurutan data secara urut naik dengan metoda penyisipan biner Gambar 6.8: Flowchart prosedur pengurutan data secara urut naik dengan metoda Quick Sort Gambar 6.9 : Flowchart prosedur pengurutan data secara urut naik dengan metoda Shell sort Gambar 6.10: Contoh ilustrasi pengurutan data dengan metoda merge sort Gambar 7.1 : Flowchart prosedur pencarian data dengan metoda pencarian Gambar 7.2 : Flowchart prosedur pencarian data dengan metoda pencarian langsung (modifikasi 1) Gambar 7.3 : Flowchart prosedur pencarian data dengan metoda pencarian langsung (modifikasi 2) Gambar 7.4 : Flowchart prosedur pencarian data dengan metoda pencarian biner Gambar 8.1 : Flowchart prosedur menggabung dua vektor dengan metoda penggabungan sederhana Gambar 9.1 : Flowchart prosedur penjumlahan dua matrik Gambar 9.2 : Flowchart prosedur perkalian matrik dengan suatu skalar Gambar 9.3 : Flowchart prosedur perkalian dua matrik Gambar 9.4 : Flowchart prosedur matrik transpose Gambar 10.1: Flowchart prosedur penyelesaian sistem persamaan linier simultan dengan metoda eliminasi Gauss Gambar 10.2: Flowchart prosedur penyelesaian persamaan linier simultan dengan metoda eliminasi Gauss-Jordan Gambar 10.3: Flowchart prosedur penyelesaian persamaan linier simultan secara iteratif dengan metoda Jacobi vi

Gambar 10.4: Flowchart prosedur penelesaian linier simultan secara iteratif dengan metoda Gauss-Seidel Gambar 11.1: Flowchart prosedur metoda coba-salah untuk menyelesaikan fungsi persamaan Gambar 11.2 : Contoh flowchart prosedur metoda coba-salah untuk menghitung akar kuadrat suatu bilangan integer Gambar 12.1 : Flowchart prosedur untuk mencari data maksimum Gambar 12.1 : Flowchart prosedur untuk mencari data minimum Gambar 13.1 : Flowchart prosedur untuk mengecek kesamaan dua vektor tidak urut Gambar 13.2 : Flowchart prosedur untuk mengecek kesamaan dua vektor urut Gambar 14.1 : Flowchart prosedur membalik karakter dalam kalimat Gambar 14.2 : Flowchart prosedur mengecek kata Palindrom vii

DAFTAR TABEL Tabel 4.1 : Contoh menghitung akar-akar persamaan suku banyak dengan pendekatan Metoda Newton Tabel 4.2 : Contoh Menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Secant Tabel 4.3 : Pencarian pendekatan akar-akar persamaan suku banyak dengan pendekatan metoda Succesive Bisection Tabel 4.4 : Contoh menghitung akar-akar persamaan suku banyak menggunakan pendekatan metoda Succesive Bisection Tabel 4.5 : Perbandingan antar metoda untuk perhitungan akar-akar persamaan suku banyak Tabel 6.1 : Contoh pengurutan data secara urut naik dengan metoda seleksi langsung Tabel 6.2 : Contoh pengurutan data secara urut turun dengan metoda seleksi langsung Tabel 6.3: Contoh pengurutan data secara urut naik dengan metoda gelembung Tabel 6.4: Contoh pengurutan data secara urut turun dengan metoda gelembung Tabel 6.5: Contoh proses pengurutan data secara urut naik dengan metoda penyisipan langsung Tabel 6.6: Contoh proses pengurutan data secara urut turun dengan metoda penyisipan langsung Tabel 6.7: Contoh proses pengurutan data secara urut naik dengan metoda penyisipan biner Tabel 6.8: Contoh penentuan lokasi penyisipan data secara urut naik dengan metoda biner Tabel 6.9. Contoh pengurutan data secara urut naik denga metoda Shell sort Tabel 7.1: Contoh pencarian data dengan metoda pencarian biner (Contoh 1) Tabel 7.2: Contoh pencarian data dengan metoda pencarian biner (Contoh 2) Tabel 8.1 : Contoh menggabungkan dua vektor dengan metoda penggabungan sederhana Tabel 9.1 : Perubahan posisi-posisi entri pada matrik transpose Tabel 10.1: Contoh penyelesaian sistem persamaan linier simultan secara iteratif dengan metoda Jacobi Tabel 10.2: Contoh menyelesaikan sistem persamaan linier simultan secara iteratif dengan metoda Gauss-Seidel viii