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

dokumen-dokumen yang mirip
ALGORITMA. Bahasa Pemrograman adalah prosedur atau tata cara penulisan program.

Konstruksi Dasar Algoritma

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

LOOPING. Brigida Arie Minartiningtyas, M.Kom

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

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

7. Logika dan Algoritma Pemrograman

Pengampu : Agus Priyanto, M.KOM

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

ALGORITMA DAN PEMROGRAMAN

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Algoritma & Pemrograman

Contoh 1: Akan dicetak angka 1 sampai 10 dengan menggunakan perulangan for

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

BAB II DASAR-DASAR DAN ATURAN PENULISAN ALGORITMA

STRUKTUR PERULANGAN (Repetition Structure)

PARADIGMA VOL. IX. NO. 3, AGUSTUS 2007

Struktur Pengulangan

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

ALGORITMA & FLOWCHART

CCH1A4 / Dasar Algoritma & Pemrogramanan

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

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

Logika Informatika. Heri Sismoro, M.Kom. STMIK AMIKOM Yogyakarta

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

Algoritma Pemrograman

Brigida Arie Minartiningtyas, M.Kom

Algoritma Pemrograman I

ALGORITMA & PEMROGRAMAN

PENGULANGAN. pencacah harus bertipe integer atau karakter pernyataan adalah satu atau lebih instruksi yang. Pernyataan

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

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Algoritma Pemrograman

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

PERTEMUAN 9-11 STATEMENT

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

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

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 )

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Identitas dosen POKOK BAHASAN. Struktur Pengulangan. proses perhitungan dan mengulang. perhitungan PENGULANGAN PENGULANGAN. Suherman,, ST Address

3 sks (2,1) 1 sks: Lab Session. Course material: History Algorithm. Programming (C/C++):codeblock,gnu compiler

LOGIKA ALGORITMA. Pertemuan 6. By: Augury

Algoritma dan Pemrograman. Pertemuan Ke-8 Statement Pengulangan 1

Pengenalan Algoritma

Bab 2. Dasar-Dasar Pemrograman C

ALGORITMA PERULANGAN

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Bab 3. Decision 1 (Pengambilan Keputusan)

Pertemuan 5 PEMILIHAN/PERCABANGAN

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Struktur Kontrol. (Repetition) 1. Pemilihan (Selection) 2. Pengulangan

Algoritma Pemrograman

Bahasa Pemrograman dan Flowchart. Adri Priadana

PERTEMUAN 5 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PENGULANGAN

BAB II DASAR-DASAR ALGORITMA

Teori Algoritma. Struktur Algoritma

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

STRUKTUR DASAR PEMROGRAMAN

Decission : if & if else

Algoritma. Contoh Algoritma

Algoritma Pemrograman

Data Pembanding (B)

Algoritma Pemrograman


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

STRUCTURED ENGLISH DAN PSEUDOCODE

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

Yudha Dwi P. N. S.Kom. Pertemuan 3 Aturan Penulisan Teks Algoritma

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

Algoritma dan Struktur Data

PENGAMBILAN KEPUTUSAN

Struktur Kontrol. (Repetition)

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

Kontrak Perkuliahan & Introduction

Algoritma Pemrograman

Pengantar Algoritma & Flow Chart

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

elemen Dasar Bahasa Pemrograman C

PERSEGI ANGKA-HURUF VERTIKAL

BAB II NOTASI ALGORITMA

Fungsi : Dasar Fungsi

Alih Kontrol dengan Flowchart

Konsep Dasar Pemrograman

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010

Kompleksitas Algoritma (1)

Tipe Data dan Variabel

Definisi Percabangan

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

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

P - 3 Bab 2 : Pengantar Pemrograman C

Pemrograman Dasar Kelas X RPL KONSEP DASAR ALGORITMA

Algoritma dan Pemrograman. Pertemuan Ke-9 Statement Pengulangan 2

Algoritma Pemrograman

MODUL IV Analisis Kasus/Pemilihan

Transkripsi:

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670) Jum at, 04 Februari 2011

Topik Diskusi Komputer dan Pemrograman Mengenal Algoritma dan Struktur Data Langkah Penyelesaian Masalah Standar Algoritma dan Program yang Baik Penyajian Algoritma

Komputer dan Pemrograman Komputer : alat bantu penyelesaian masalah. Langkah-langkah penyelesaian masalah ditentukan oleh operator dalam runtunan instruksi Program adalah sekumpulan instruksi untuk menyelesaikan masalah Bahasa pemrograman digunakan untuk menulis program. Low-level language dan high-level language Interpreted dan compiled language

Algoritma & Struktur Data Pemecahan masalah tidak harus dengan langsung menulis program dengan bahasa pemrograman tertentu Disain pemecahan masalah lebih penting Algoritma menjadi sarana untuk merancang urutan langkahlangkah logis penyelesaian masalah yang disusun secara sistematis Variasi algoritma muncul dalam hal penanganan data: Bagaimana data disusun Data mana yang disimpan di memori Data mana yang digunakan pada saat tertentu, dll. Perlu strategi penanganan data : struktur data

Algoritma Ciri-ciri algoritma yang baik : 1. Benar secara logika 2. Jumlah langkah/step berhingga dan tertentu 3. Efektif 4. Harus terminate pada kondisi tertentu 5. Output yang dihasilkan tepat

Langkah Pemecahan Masalah (1) Inisiasi solusi secara umum: deskripsi masalah merancang algoritma-algoritma untuk memecahkan masalah (bisa lebih dari satu solusi untuk satu permasalahan) menekankan pada ketepatan solusi

Langkah Pemecahan Masalah (2) Analisa algoritma : Menekankan pada efisiensi Efisiensi waktu dan efisiensi ruang Melakukan analisa algoritma dari solusi-solusi yang dirancang Memilih metode struktur data yang tepat Contoh: analisis kompleksitas algoritma (Asymptotic Analysis) untuk membandingkan dua metode sorting, yakni insertion sort dan merge sort (akan dijelaskan di pertemuan berikutnya)

Langkah Pemecahan Masalah (3) Implementasi solusi Menggambar flowchart dan atau menulis pseudocode Menerjemahkan ke dalam bahasa pemrograman tertentu Melakukan pengujian (debugging) dan perbaikan program

Standar Program yang Baik 1. Standar Penyusunan Program a. Kebenaran logika b. Waktu untuk penulisan program c. Kecepatan maksimum eksekusi program d. Ekspresi penggunaan memori e. User friendly (bisa dikembangkan programmer developer lain) f. Portability (instalasi dan inisiasi mudah) g. Pemrograman Modular (memudahkan perawatan)

Standar Program yang Baik 2. Standar Perawatan Program a. Dokumentasi pemakaian untuk pengguna b. Dokumentasi pengembangan untuk programmer (biasanya berbentuk komentarkomentar pada source code program) c. Konvensi penulisan instruksi (memudahkan pengerjaan program oleh programmer lain)

Penyajian Algoritma Algoritma disajikan dengan tulisan dan gambar. Algoritma yang disajikan dengan tulisan berupa pseudocode, sedangkan yang disajikan dengan gambar berupa flowchart (bagan alir).

Contoh Penyajian Algoritma Algoritma untuk mencari rata-rata dari 3 bilangan bulat yang diinputkan: a. Algoritma dengan struktur bahasa Indonesia 1. Baca bilangan a, b, dan c 2. Jumlahkan ketiga bilangan tersebut 3. Bagi jumlahnya dengan 3 4. Tulis hasilnya b. Algoritma dengan pseudocode Algoritma CARI_RERATA a, b, c, Jml: integer Rerata : real Input (a,b,c) Jml <- a+b+c Rerata <- Jml/3 Output (Rerata) c. Algoritma dengan flowchart

Contoh Penyajian Algoritma Algoritma untuk mencari luas lingkaran : a. Algoritma dengan struktur bahasa Indonesia 1. Beri nilai phi dengan 3.14 2. Masukkan jari-jari lingkaran 3. Kalikan phi dengan kuadrat dari jari-jarinya 4. Tulis hasilnya b. Algoritma dengan pseudocode Algoritma LUAS_LINGKARAN phi, L, R : real phi <- 3.14 Input(R) L <- phi * R^2 Output(L) c. Algoritma dengan flowchart

Flowchart Flowchart (bagan alir) adalah suatu bagan yang menggambarkan/mempresentasikan suatu algoritma/prosedur untuk menyelesaikan masalah. Flowchart ada dua macam : Flowchart System Flowchart Program

Flowchart system Yaitu bagan yang menggambarkan suatu prosedur dan proses suatu file dalam suatu media menjadi file dalam media yang lain dalam suatu sistem data. Simbol yang digunakan :

Flowchart program Yaitu bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. Simbol yang digunakan : : menunjukkan awal dan akhir dari program : memberikan niai awal pada suatu variabel atau counter : menunjukkan pengolahan aritmatika dan pemindahan data : menunjukkan proses input atau output : untuk mewakili operasi perbandingan logika : proses yang ditulis sebagai sub program, yaitu prosedur/ fungsi : penghubung pada halaman yang sama : penghubung pada halaman yang berbeda

Pseudocode Mempermudah pembuatan program Independen dari berbagai bahasa pemrograman Notasi-notasinya bisa diterjemahkan ke berbagai bahasa pemrograman

Struktur Pseudocode Algoritma HITUNG_RERATA (Menghitung rerata bilangan bulat) x, n, k, jumlah: integer rerata: real input(n) k 1 jumlah 0 while k n do input(x) jumlah jumlah + x k k + 1 endwhile Kepala Algoritma Deklarasi Deskripsi rerata jumlah/n output(rerata)

Konversi ke bahasa C /* Program Hitung Rerata */ /* Menghitung nilai rerata sekumpulan bilangan */ /* bulat yang dibaca dari keyboard */ #include <stdio.h> main() { /*Deklarasi*/ int x, n, k, jumlah; float rerata; /*Deskripsi*/ printf( Masukkan jumlah data: ); scanf( %d, &n); } k = 1; jumlah = 0; while (k <= n){ printf( x =? ); scanf( %d, &x); jumlah = jumlah = x; k++; } rerata = (float) jumlah/n; printf( Rerata seluruh data = %f, rerata);

STRUKTUR DASAR ALGORITMA Struktur dasar algoritma ada tiga, yaitu : 1. Sequence Structure (struktur runtunan) Digunakan untuk program yang instruksinya sequential/ urutan. 2. Selection Structure (struktur percabangan) Digunakan untuk program yang menggunakan pilihan/ penyeleksian kondisi. 3. Repetition Structure (struktur perulangan) Digunakan untuk program yang instruksinya akan dieksekusi berulang-ulang.

STRUKTUR RUNTUNAN (Sequence Structure) Dengan Struktur runtunan, berarti : Setiap instruksi akan dikerjakan satu persatu Setiap instruksi dilaksanakan tepat satu kali, tidak ada instruksi yang diulang maupun tidak dilaksanakan Urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis di dalam teks algoritmanya Akhir dari instruksi terakhir merupakan akhir algoritma Bila runtunan instruksi dalam algoritma berturutturut dilambangkan dengan A1, A2, A3, A4, dan A5, maka pelaksanaan instruksi tersebut adalah :

Contoh: Pseudocode sebuah algoritma, sbb: 1. A 10 A 2*A B A Output(B) 2. A 10 B A A 2*A Output(B) Contoh 1) keluaran = 20, Contoh 2) keluaran = 10

Contoh-Contoh Kasus 1. Algoritma untuk menghitung sisi miring segitiga siku siku Algoritma HITUNG_SISI_MIRING_SEGITIGA alas, tinggi: integer Sisimiring: real Input(alas,tinggi) Sisimiring sqrt(alas^2 +tinggi^2) Output(Sisimiring) 2. Algoritma untuk mengkonversi input Jam, Menit, dan Detik, ke total detik Algoritma KONVERSI_WAKTU Jam, Menit, Detik, TotalDetik: integer Input(Jam,Menit,Detik) TotalDetik Jam*3600 + Menit*60 + Detik Output(TotalDetik)

STRUKTUR PERCABANGAN (Selection Structure) Pernyataan percabangan memungkinkan suatu pernyataan dieksekusi hanya jika suatu kondisi terpenuhi atau tidak terpenuhi Contoh : Jika mau nonton film, maka belilah tiketnya Jika suatu bilangan habis dibagi 2, maka bilangan itu adalah bilangan pastilah bilangan genap Bentuk instruksi percabangan Instruksi IF Pernyataan IF Sederhana Pernyataan IF-ELSE Instruksi CASE

INSTRUKSI IF Secara Umum flowchartnya, sebagai berikut:

Pernyataan IF Sederhana Bentuk: IF <kondisi> THEN <pernyataan> ENDIF Pernyataan IF dengan Syarat Tunggal Instruksi untuk memeriksa sebuah kondisi saja Contoh : IF komentar= coba THEN Output( Anda memasukan kata yang benar ) ENDIF

Pernyataan IF Sederhana Pernyataan IF dengan Syarat Majemuk Digunakan operator AND dan OR Contoh : atau IF nilai = A OR nilai = B THEN Output( Anda dapat mengikuti tes asisten ) ENDIF IF nilai<=100 AND nilai>=80then Output( Nilai mata kuliah Anda A ) ENDIF

Pernyataan IF ELSE Bentuk: IF <kondisi> THEN <pernyataan_1> ELSE <pernyataan_2> ENDIF

Pernyataan IF ELSE Contoh : IF x>0 THEN Output( X adalah bilangan positif ) ELSE Output( X adalah bilangan negatif ) ENDIF

INSTRUKSI CASE Alternatif dari pernyataan IF untuk masalah dengan pilihan ganda Semua masalah yang bisa CASE pasti bisa ditangani oleh IF, tetapi tidak sebaliknya Bentuk: SELECT CASE <ekspresi> CASE <ekspresi_1> <blok instruksi_1> CASE <ekspresi_2> <blok instruksi_2>... CASE ELSE <blok instruksi_m> END SELECT

STRUKTUR PERULANGAN (Repetition Structure) Pemrograman untuk melakukan suatu proses yang berulangulang, jika suatu kondisi dipenuhi atau tidak Proses ini biasanya digunakan, untuk : Mengulang proses pemasukan data Mengulang proses perhitungan Mengulang proses penampilan hasil pengolahan data

STRUKTUR PERULANGAN (Repetition Structure) Struktur perulangan terdiri dari 2 bagian : Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan Badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang Disamping itu biasanya disertai dengan : Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan

STRUKTUR PERULANGAN (Repetition Structure) Bentuk instruksi perulangan : Instruksi FOR Instruksi WHILE DO Instruksi REPEAT-UNTIL

INSTRUKSI FOR Digunakan untuk mengeksekusi suatu baris/blok instruksi secara berulang-ulang selama kondisi terpenuhi Kondisi yang digunakan untuk menguji hanya sebatas perhitungan menambah/mengurangi isi variabel counter dengan STEP tertentu Jumlah perulangan diketahui secara pasti (n kali)

INSTRUKSI FOR Bentuk instruksi : FOR variable_counter nilai_awal TO nilai_akhir DO <blok instruksi/pernyataan> ENDFOR

INSTRUKSI FOR Contoh: Mencetak tulisan HALO sepuluh kali Algoritma CETAK_HALO_SEPULUH_KALI k : integer FOR k 1 TO 10 DO output( HALO ) ENDFOR

Instruksi WHILE-DO INSTRUKSI Proses berulang selama sebuah kondisi terpenuhi Proses berulang tidak diketahui jumlahnya Bentuk Instruksi : WHILE <kondisi> DO <blok pernyataan> ENDWHILE

Instruksi WHILE-DO Contoh: mencetak tulisan Halo sebanyak 10 kali Algoritma CETAK_HALO_SEPULUH_KALI k : integer k 1 WHILE k 10 DO output( Halo ) k k + 1 ENDWHILE

Instruksi REPEAT-UNTIL Instruksi REPEAT - UNTIL Pengulangan dilakukan selama kondisi bernilai salah Pengujian dilakukan setelah blok pernyataan dijalankan, sehingga minimal sekali pernyataan akan dieksekusi Bentuk Instruksi : REPEAT <blok pernyataan> UNTIL <kondisi>

Instruksi REPEAT-UNTIL Contoh: Menampilkan angka 1, 2,..., 20 Algoritma CETAK_ANGKA_1-20 angka : integer angka 1 REPEAT output(angka) angka angka + 1 UNTIL angka > 20

Tugas Kerjakan TugasASD040311.pdf Waktu pengerjaan dua minggu, deadline hari Kamis, 17 Maret 2011 pkl. 23.59 WIB Tugas dikumpul via email : sunu_jteti@yahoo.co.id Minggu depan kelas ditiadakan, mohon selama dua minggu pelajari dasar-dasar C/C++ Programming PEMBAGIAN GRUP untuk TUGAS PRESENTASI (ambil no. undian). Tema presentasi dan jadwal presentasi diunduh di course page dan papirus