09/09/2013 ILKOM IPB 1. Algoritme dan Pemrograman. Contoh penerapan. Kiat Sukses. Program Komputer. Kenapa belajar algoritme dan pemrograman?

dokumen-dokumen yang mirip
Algoritme dan Pemrograman

12/29/2011 ILKOM IPB 1

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Algoritme dan Pemrograman

Konstruksi Dasar Algoritma

ALGORITME DAN PEMROGRAMAN

Mana di antara penamaan variabel berikut yang benar? Mengapa yang lain salah? a. 3n+1 b. n+1 c. 3n1 d. 3n_1 e. n_31

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while

Bab 3. Decision 1 (Pengambilan Keputusan)

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

UJIAN TENGAH SEMESTER GANJIL TAHUN STMIK AMIKOM YOGYAKARTA

Perulangan, Percabangan, dan Studi Kasus

Algoritme dan Pemrograman

Review: Algoritme dan Program 12/29/2011. Algoritme dan Pemrograman. Review: Bagaimana memecahkan masalah dengan komputer?????

Review #1. Review #2

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Ekspresi dan Operator. Algoritme dan Pemrograman. Jenis Operator C. Operator Aritmetika. Operasi Logika 09/22/2013 ILKOM IPB 1.

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

Bab 2 Struktur Dasar

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Pengantar Pemrograman

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

RINGKASAN PEMROGRAMAN QUICK BASIC

OPERATOR DAN STATEMEN I/O

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement

OPERASI SELEKSI PEMROGRAMAN C++

Kuliah #4 Ekspresi,Operator, dan Conditional Statement

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

Kuliah III - Dasar Pemrograman

Tipe Data, Identifier, Operator dan Control Statement

Algoritme dan Struktur Data. Ekspresi,Operator, dan Conditional Statement

Pengumuman ALGORITME DAN PEMROGRAMAN

9/9/2011 ILKOM IPB 1 ALGORITME DAN PEMROGRAMAN. Review: Algoritme dan Program. Bahasa tingkat rendah (low level language)

BAB 5. Kondisional Perulangan. Materi. Pengenalan Perulangan Perulangan For Perulangan While Perulangan dengan menggunakan Kondisional If

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

Pemrograman Dasar P E N G A N T A R A L G O R I T M A

Pengumuman Pekan ke- 5

Algoritma Pemrograman

Pertemuan 01. Pemrograman Dasar [PTI-5001 ] 2012

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

Selection, Looping, Branching

MODUL III CONTROL FLOW & FLOWCHART

DASAR PHP. Oleh : Devie Rosa Anamisa

PENGANTAR KOMPUTER & SOFTWARE II

ALGORITME :: Pengantar Pemrograman

Bab 2. Dasar-Dasar Pemrograman C

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

Definisi Percabangan

Algoritma Pemrograman

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Algoritma Pemrograman

BAB VI. STATEMENT CONTROL

FLOWCHART - LANJUTAN

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.

Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015

Chapter 1 KONSEP DASAR C

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

Rekursif/ Iterasi/ Pengulangan

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

2.4. Struktur Branching

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

VARIABEL & TIPE DATA PEMROGRAMAN C++

CCH1A4 / Dasar Algoritma & Pemrogramanan

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

1. Laporan Akhir 1. Menentukan Nilai Besar atau Nilai Kecil. Program yang di masukkan adalah :

Pengenalan Algoritma

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

PENYELEKSIAN KONDISI dengan IF

PENYAJIAN ALGORITMA. a. Stuctured English b. Psedoucode

Algoritma dan Struktur Data Tahar Agastani Teknik Informatika UIN

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

STRUKTUR DASAR ALGORITMA. Rio Widyatmoko,

MATERI KULIAH 25 NOVEMBER DESEMBER 2015 Sri Istiyari Uswatun Chasanah G Struktur aliran atau bagan program kontrol.

Decission : if & if else

PENGANTAR KOMPUTER & SOFTWARE II

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

Algoritma. Contoh Algoritma

Algoritma dan Pemrograman 2C. Logika Proporsional YUDI ADHA. ST. MMSI

Percabangan dan Perulangan

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Percabangan & Perulangan

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

Pengampu : Agus Priyanto, M.KOM

CCH1A4 / Dasar Algoritma & Pemrogramanan

Pemilihan. Overview. Tujuan. 1.1 Bentuk Umum IF dan Variasinya

9/16/2011 ILKOM IPB 1. a + b. Contoh Penggunaan Operator LOGIKA

Pertemuan2 Percabangan & Perulangan pada Python

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

TEORI KONSEP PEMPROGRAMAN 3.1

Algoritma Pemrograman

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

PRAKTIKUM 3 DASAR PEMROGRAMAN C

Transkripsi:

dan Pemrograman Kuliah # Kontrak Perkuliahan Pendahuluan Pembuatan algoritme Kenapa belajar algoritme dan pemrograman? Profesi di banyak bidang (tidak hanya bidang komputer) melibatkan: Pengolahan data yang banyak Penyajian data dan informasi Pengambilan kesimpulan berdasarkan informasi Komputer memungkinkan: Pengerjaan teknik lama dengan lebih efisien (pencarian, pengurutan, dll) Pengembangan teknik-teknik baru (kecerdasan buatan, dll) Banyak teknik komputasi yang terinspirasi dari bidang lain: Jaringan syaraf tiruan Simulated annealing (dari pembuatan baja) genetika koloni semut (dari perilaku semua dalam mencari makanan) DEPARTEMEN ILMU KOMPUTER INSTITUT Contoh penerapan Statistika: quick count, computational statistics (banyak dipakai di kecerdasan buatan) Klimatologi: simulasi iklim, prediksi musim, pengolahan dan penyajian data stasiun cuaca (cari: NOAA dan IRI/LDEO Climate Data Library) Matematika: computational mathematics (pembuktian dengan komputer, metode numerik) Fisika: simulasi partikel, pengolahan data fisika elementer, computational physics (banyak metode numerik) Biologi: bioinformatika Teknik sipil: studi struktur, simulasi (banyak metode numerik) Kiat Sukses Sadari perbedaan mata kuliah ini dengan yang lainnya Membuat solusi sendiri, bukan semata mengikuti langkahlangkah yang telah ditetapkan Perbanyak latihan membuat algoritme Perbanyak latihan membuat program Buatlah soal-soal baru (mis. dengan memvariasikan soal yang ada) untuk latihan Aktif bertanya baik di kelas, lab, maupun di milis Kecurangan dalam pengumpulan tugas tidak akan membantu di ujian Komputer hanyalah sebuah mesin. Komputer bekerja sesuai perintah atau instruksi yang diberikan. Perintah atau instruksi yang diberikan kepada komputer untuk memecahkan suatu masalah disebut program komputer. Program komputer ini memandu kerja dari komputer yang secara berstruktur disusun oleh manusia. Bahasa yang digunakan untuk menyusun program komputer disebut bahasa pemrograman komputer. Membuat Pemrograman komputer harus dilakukan secara sistematis, dimulai dengan merancang atau mendesain langkah-langkah yang tepat yang menjelaskan jawaban dari suatu masalah. Langkah-langkah yang disusun secara berstruktur dan terurut untuk menjawab suatu persoalan dengan menggunakan bahasa manusia inilah yang sering disebut dengan algoritme. DEPARTEMEN ILMU KOMPUTER INSTITUT ILKOM IPB

Langkah Membuat Langkah sulit MASALAH PROGRAM KOMPUTER Fase pemecahan masalah Fase implementasi, coding ALGORITME Penulisan algoritme vs program Sebenarnya, cara menuliskan algoritme adalah bebas, sedangkan program dituliskan sesuai bahasa pemrograman tertentu (dalam MK ini: bahasa pemrograman C) Namun, agar dapat dipahami oleh orang lain, maka penulisan algoritme cenderung baku, sering disebut sebagai pseudocode. Salah satu contoh: procedure jumlah { read a, b c a+b print c Contoh # Menjumlahkan dua bilangan bulat ALGORITME a. MENJUMLAHKAN DUA BILANGAN. baca dua buah bilangan bulat (misalnya a dan b). 2. jumlahkan dua bilangan tersebut dan simpan hasilnya ke peubah c (c a + b).. cetak nilai c. ALGORITME b. MENJUMLAHKAN DUA BILANGAN. baca a dan b. 2. c a + b.. cetak nilai c. vs Program (Contoh #).baca a dan b. 2.c a + b..cetak nilai c. Program #include <stdio.h> int main() { short int a, b, c; scanf("%hd %hd", &a, &b); c = a + b; printf("%hd\n", c); Contoh #2 Menentukan kelulusan dari tiga nilai Perumusan masalah: Diberikantiga buah nilai ujian. Jika rata-rata dari tiga nilai kurang dari 0, maka statusnya adalahtidak LULUS, sedangkan lainnya (lebih besar atau sama dengan 0) dinyatakan LULUS. procedure kelulusan { read nil, nil2, nil r (nil+nil2+nil)/ if (r < 0) then print "TIDAK LULUS" else print "LULUS Program C Contoh #2 #include <stdio.h> int main() { short int nil, nil2, nil, r; scanf("%hd %hd %hd", &nil, &nil2, &nil); r = (nil + nil2 + nil)/; if (r < 0) printf("tidak LULUS\n"); else printf("lulus\n"); ILKOM IPB 2

Latihan Kelas Buat langkah-langkah untuk melakukan hal-hal berikut:. Menjumlahkan bilangan bulat. 2. Menentukan bilangan terbesar dan terkecil dari tiga bilangan bulat.. Memeriksa apakah suatu bilangan bulat adalah positif, negatif, atau 0. Jika positif, cetak kata 'POSITIF ; jika negatif, cetak 'NEGATIF.. Menentukan apakah sebuah bilangan bulat habis dibagi a ataukah tidak (a > 0).. Menentukan apakah sebuah bilangan bulat adalah bilangan genap atau ganjil. apakah ini?. Baca (a, b, c) 2. Jika a b, maka: besar a, kecil b, selainnya: besar b, kecil a. Jika c besar, maka besar c. Jika c kecil, maka kecil c. Cetak (besar, kecil) Elemen Pseudocode Variabel Perintah atau instruksi Assignment atau penugasan dan ekspresi Struktur kendali aliran Komentar Catatan: pseudocode yang kita gunakan mengadopsi beberapa ketentuan bahasa pemrograman C agar mudah diubah ke bahasa pemrograman C VARIABEL Variabel adalah elemen dari algoritme untuk menyimpan nilai tertentu pada suatu saat, dan pada saat yang lain nilai ini dapat diubah menjadi nilai lainnya sesuai kebutuhan. Beberapa catatan agar mudah dipindah ke program C Dituliskan dengan suatu nama yang unik, terdiri dari alphanumeric, tetapi harus dimulai dengan huruf atau underscore. Case-sensitive (variabel X berbeda dengan variabel x) a, b, c, n, sum,... Pada contoh #, mana saja yang termasuk variabel? INSTRUKSI/PERINTAH Perintah/instruksi adalah satuan operasional dari suatu algoritme. Dinyatakan dalam kalimat sehari-hari yang mudah dipahami dan konsisten. Diakhiri tanda titik koma (;) read(a,b,c); print(sum); EKSPRESI dan ASSIGNMENT Ekspresi adalah operasi yang akan dievaluasi (diproses) untuk menghasilkan suatu nilai. Ekspresi dapat bersifat aritmetika (menghasilkan angka) maupun logika (menghasilkan kondisi TRUE atau FALSE). Assignment atau penugasan adalah pemberian suatu nilai di sisi kanan ke suatu penampung (mis. variabel) di sisi kiri. Nilai di sisi kanan dapat berupa nilai literal, variabel lain, atau suatu ekspresi. Tanda = menggantikan tanda Bukan bermakna kesamaan sum = 0; a = -7; max = 9.; x = n; b = a + ; c = / x; c = a + b; sum = sum + x; ILKOM IPB

STRUKTUR KENDALI ALIRAN Struktur kendali aliran adalah suatu bentuk atau struktur yang memiliki peranan khusus untuk mengatur atau mengendalikan urutan pengerjaan satu atau lebih operasi atau instruksi. Struktur kondisi (conditional): if, if else, switch Pilihan berdasarkan syarat/kondisi tertentu Struktur pengulangan (looping): for, while Perulangan berdasarkan syarat/kondisi tertentu Struktur lainnya: continue, exit, return KOMENTAR Komentar adalah suatu catatan tambahan yang dituliskan ke dalam algoritme dengan tujuan untuk memperjelas, tetapi tidak mempengaruhi operasi apa pun didalam algoritme. Diberi notasi awal // Dapat dituliskan sebagai baris terpisah atau setelah suatu pernyataan. Mulai tanda // hingga akhir baris tidak diproses (tidak berpengaruh pada perilaku dan hasil program) // menjumlahkan dua bilangan bulat // Dibuat pada 2 September 202 Contoh # Masalah dan Perumusannya Buat algoritme menentukan apakah suatu bilangan bulat habis dibagi oleh a (a>0) Pemecahan masalah: Untuk menentukan apakah satu bilangan (misal b) habis dibagi oleh a, dapat dilakukan dengan menentukan sisa pembagian, yaitu menggunakan operasi modulo (mod). Jika bilangan b mod a=0 maka bilangan b tersebut berarti habis dibagi oleh a, dan algoritme akan mencetak teksya. Selainnya, akan mencetak tekstidak. Contoh # // Memeriksa apakah b habis dibagi oleh a procedure habisdibagi { read(b,a); t = b mod a; // Perhatikan tanda == untuk tes kesamaan if (t == 0) // Periksa nilai t print(" YA"); else print(" TIDAK"); Contoh # Masalah dan Perumusannya Buat algoritme mencetak bilangan, 2,, sampai dengan n (n>0) Perumusan masalah: Masalah ini mirip dengan mesin penghitung (counter) yang biasa digunakan pramugari untuk menghitung banyak penumpang pesawat yang masuk sampai jumlah penumpang yang seharusnya tercapai. Di awal, counter diset ke 0 (disebut inisialisasi, misalnya c=0). Setelah itu, tombol ditekan sehingga nilai sebelumnya bertambah (c=c+). Hal ini dilakukan seterusnya selama (while) c kurang dari n sambil mencetak nilai c. Contoh # // Mencetak bilangan, 2, sampai dengan n procedure printn { read(n); // sampai bilangan berapa? c = 0; // inisialisasi while (c<n) {// selama c kurang dari n c=c+; // nilai c sebelumnya ditambah print(c); ILKOM IPB

Men-trace algoritme Men-trace algoritme adalah suatu proses untuk menelusuri langkah demi langkah dari suatu algoritme dan menentukan output akhirnya. Dalam pemrograman, proses ini disebut juga sebagai proses debug. Tips: Ikuti langkah demi langkah Catat setiap perubahan nilai dari suatu variabel Jika menemukan suatu pola tertentu, output akhir dapat langsung ditentukan tanpa mengikuti algoritme sampai selesai (hanya dilakukan oleh orang yang sudah sangat memahami algoritme) Contoh men-trace algoritme // Misal input n= procedure printn { read(n); c = 0; while (c<n) { c=c+; print(c); n c output 0 2 2 STOP LATIHAN # Buat algoritme mencetak hasil perhitungan b 2 - ac. Contoh input (nilai a b c): 2-2 LATIHAN #2 Buat algoritme mencetak bilangan bulat ganjil (gasal) dari sampai dengan n. 8 7 LATIHAN # Buat algoritme mencetak bilangan bulat dimulai dari n sampai dengan. 2 LATIHAN # Buat algoritme menghitung jumlah dari beberapa bilangan bulat. Input: Beberapa bilangan bulat dan diakhiri dengan nilai minus 99 atau -99 (bilangan terakhir ini tidak dijumlahkan) Output: Jumlah dari bilangan masukan selain bilangan terakhir (minus 99) 20-8 0 26 7-99 89 ILKOM IPB