Deskripsi Matakuliah Matakuliah ini mengajarkan tentang konsep dan logika berpikir komputer, cara perancangan dan analisis masalah, yang kemudian dipecahkan.

Slides:



Advertisements
Presentasi serupa
Bab 2 Struktur Dasar.
Advertisements

Pemrograman Dasar Pengantar Algoritma PTIIK - UB.
Dasar Pemrograman Komputer
PENGENALAN KONSEP PEMROGRAMAN
Algoritma : CONTROL STRUCTURES
Pemrograman Berorientasi Objek
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
Teknik Elektro – UIN Sunan Gunung Djati Bandung
Bahasa Pemrograman dan Flow Chart
Struktur Kontrol.
PEMROGRAMAN TERSTRUKTUR
Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom
ALGORITMA DEFINISI & FLOWCHART
Algoritma dan Pemrograman
Sejarah Bahasa BASIC Disusun Oleh : Lily W..
Materi-Materi Pengantar Algoritma Konsep Bahasa Pemrograman Flowchart
Algoritma (Komputer) EL 2001 – Dasar Pemrograman Budi Rahardjo Teknik Elektro ITB
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Issa Arwani, S.kom, M.sc.
Dasar Pemrograman Komputer [TKL-4002 ] Pertemuan 01.
Algoritma (Komputer).
Struktur Kontrol Pemilihan
Pertemuan Operasi Seleksi
Pengenalan Pemrograman Komputer
Pernyataan Percabangan
Struktur Program dan Pernyataan
ALGORITMA DAN PEMROGRAMAN
Pertemuan 1 Muhamad Haikal,S.Kom., MT
Struktur Kontrol Struktur kontrol if Struktur kontrol if-else
Pendahuluan Algoritma dan Pemrograman I-A
Flowchart (Diagram Alur)
Pengantar Pemrograman Basis Data (PPBD)
Konsep Dasar Disusun Oleh : Lily W..
ALGORITMA PEMEROGRAMAN
Algoritma pemrograman I
KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma
ALGORITMA & PEMROGRAMAN
Pertemuan 4 PROGRAMMING LANGUAGE.
Start.
FLOWCHARTING Pertemuan 3 & 4 Muhamad Haikal, S.Kom., MT.
penyusunan algoritma (flowchart)
Struktur Program dan Pernyataan
Aliran Kendali (Flow Control)
Pengenalan Bahasa Pemrograman
PERCABANGAN Siti Mukaromah, S.Kom.
Sejarah Bahasa BASIC.
Pernyataan Pengulangan Proses
Struktur Program dan Pernyataan
Pernyataan Percabangan
Konsep Dasar BASIC ALGORITMA PEMROGRAMAN 1B* (PP :S1-DB) Pertemuan 3.
Structure Theorem Rahmat D.R. Dako, ST, M.Eng.
Definisi Algoritma Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti.
Algoritma dan Pemrograman
Konsep Dasar.
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Bahasa Pemrograman dan Flow Chart
Pengantar Konsep Bahasa Pemrograman
Bab 2 Struktur Dasar.
DIAGRAM ALUR (FLOWCHART)
ALGORITMA & PEMROGRAMAN
ARRAY Dalam BASIC Disusun Oleh : Lily W..
EL 2001 – Dasar Pemrograman Budi Rahardjo Teknik Elektro ITB
ALGORITMA DAN PEMROGRAMAN
Konsep Dasar BASIC ALGORITMA PEMROGRAMAN 1B* (PP :S1-KA) Pertemuan 3.
ARRAY Dalam BASIC.
Algoritma pemrograman I
Pemrogram 1 Agus Darmawan, S.kom.
ALGORITMA 1 Temu 1.
Algoritma Pemrograman II
IT234 ALGORITMA DAN STRUKTUR DATA
Pernyataan Pengulangan Proses
Transcript presentasi:

Deskripsi Matakuliah Matakuliah ini mengajarkan tentang konsep dan logika berpikir komputer, cara perancangan dan analisis masalah, yang kemudian dipecahkan dengan menggunakan komputer menggunakan algoritma dan pemrograman terstruktur.

Kompetensi Matakuliah Mahasiswa mampu memahami logika berpikir komputer, memahami prinsip kerja program, memahami alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan, dengan diagram alir (flow chart) menggunakan suatu bahasa pemrograman tertentu dan mampu menggambarkan logika jalannya program secara tertulis dengan algoritma (pseudo code)

Materi-Materi Pengantar Algoritma Konsep Bahasa Pemrograman Flowchart Tipe Data, Keywords, Konstanta, Variabel Struktur Input/Output Percabangan Perulangan Pemrograman Modular Fungsi: parameter, kembalian fungsi by value Array 1 dimensi Array 2 dimensi Manipulasi String

Referensi Rijanto Tosin, Flowchart untuk Siswa dan Mahasiswa, Diastindo 1997 Budi Sutedjo Skom,., MM dan Michael AN, SKOM, Algoritma & Teknik Pemrograman , Penerbit Andi Yogyakarta Rinaldi Munir, Algoritma dan Teknik Pemrograman, Jilid 1 dan 2, Andi Yogyakarta. B.J. Posen, Programming Flowcharting for Business Data Processing, John Willey & Sons, New York, 1978 Seri Dikat Kuliah : Pengantar Algoritma dan Pemrograman : Teknik Diagram Alur dan Bahasa Basic Dasar, Penerbit Gunadarma, Jakarta, 1991 Yay Singleman, Business Programming Logic 2nd-ed, Prentice Hall Engelwood Cliffs, New Jersey,1982 Gottfried, Programming in BASIC, MC Graw Hill, New York, 1981 Jogiyanto, Teori dan Aplikasi dan Program Komputer Bahasa Basic, Andi Yogyakarta.

Referensi Gottfried, Programming in BASIC, MC Graw Hill, New York, 1981 Insap Santosa, Program-program Terapan Menggunakan Quick Basic, Andi Yogyakarta. R. Sedgewick, Algorithms, Addison-Wsley, 2002. Yay Singlemann, Business Programming Logic 2/e, Prentice Hall Engelwood Cliffs, New Jersey, 1982. Clark, R, Comparative Programming Languages 3/e, Addison Wesley, 2001. Bel, H. dan Grune, D., Programming Languages Essentials, Addison Wesley, 1994. Sebest, R.W., Concepts of Programming Languages 5/e, Addison Wesley, 2002.

Bahasa Pemrograman Adalah alat untuk membuat program Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll. Perbedaan: cara memberikan instruksi Persamaan: bertujuan menghasilkan output yang sama

Paradigma Pemrograman Pemrograman Prosedural Berdasarkan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan. Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah. Pemrograman Fungsional Berdasarkan teori fungsi matematika Fungsi merupakan dasar utama program. Pemrograman Terstruktur Secara berurutan dan terstrukrtur. Program dapat dibagai-bagi menjadi prosedur dan fungsi. Contoh: PASCAL dan C Pemrograman Modular Pemrograman ini membentuk banyak modul. Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri Sebuah program dapat merupakan kumpulan modul-modul. Contoh: MODULA-2 atau ADA

Paradigma Pemrograman Pemrograman Berorientasi Obyek Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi Contoh: C++, Object Pascal, dan Java. Pemrograman Berorientasi Fungsi Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini. Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain. Pemrograman Deklaratif Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma. Contoh: PROLOG

TAHAP PENGEMBANGAN ALGORITMA MASALAH / IDEA PEMECAHAN SOLUSI / HASIL Algoritma Source Code Executable Code

TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintak Err T Executable code: => Run Y Output Err T DOKUMEN TASI

TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Masalah: Tentukan akar-akar dari suatu persamaan kwadrat. Definisi: Persamaan kwadrat : ax^2 + bx + c = 0 Data yg diperlukan : Nilai dari a, b dan c : tipe real Sintak Err Executable code: => Run Output Err DOKUMEN TASI

TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Model Matematika : Rumus ABC x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b – sqrt(b^2 - 4ac))/2a Executable code: => Run Output Err DOKUMEN TASI

TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM Start d = b^2 – 4ac d < 0 Masukkan a,b,c Cetak Pesan “Akar imajiner” x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Cetak : x1, x2 Stop Y T COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

Executable code: => Run TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

Executable code: => Run TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

Executable code: => Run TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

Executable code: => Run TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

Executable code: => Run TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

Ciri-Ciri Algoritma Ada banyak cara untuk menyelesaikan suatu masalah Algoritma tiap orang berbeda-beda. Algoritma dilakukan secara bertahap dari langkah awal sampai akhir. Algoritma bisa mencari suatu penyelesaian benar maupun penyelesaian salah.

Cara Membuat Algoritma Sebuah Program Definisikan permasalahan (proses dan tujuan akhir). Buat runtutan proses dari awal hingga akhir secara perinci. Buat flowchart untuk menggambarkan alur proses algoritma. Implementasi algoritma dalam program. Testing, cek apakah tujuan akhir sudah memenuhi/merupakan hasil akhir yang dituju atau belum.

Representasi Sebuah Algoritma Representasi algoritma berbeda-beda. Diantaranya: block code, diagram/FlowChart, dsb.

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

Algoritma Dalam Bahasa Natural Ambil bilangan pertama dan set maks sama dengan bilangan pertama Ambil bilangan kedua dan bandingkan dengan maks Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua Ambil bilangan ketiga dan bandingkan dengan maks Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga Variabel maks berisi bilangan terbesar. Tayangkan hasilnya next

Cara Membuat Sebuah FlowChart 3 komponen utama (saling berurutan) INPUT  PROSES  OUTPUT. Hindari proses yang tidak perlu dan berbelit-belit (Cari algoritma proses terbaik). Gambar flowchart dari atas ke bawah dengan penghubung anak panah yang jelas. Flowchart diawali dengan titik awal (start) dan titik akhir (end)

Contoh FlowChart START END READ A, B, C IS A>B? IS A>C? IS B>C? NO YES PRINT B END PRINT C PRINT A

NO

Aspek Penting dari Algoritma Add Finiteness Algoritma harus berhenti after a finite number of steps Definiteness Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous) Input Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan Output Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input Effectiveness Setiap algoritma diharapkan miliki sifat efektif

Algoritma dan Pseudocode Algoritma: urutan langkah-langkah yang dapat digunakan untuk memecahkan suatu masalah Pseudocode: Bahasa buatan yang bersifat informal yang dapat membantu untuk mengembangkan algoritma Serupa dengan bahasa sehari-hari Membantu mempermudah penulisan program; dengan menggunakan statement-statement yang dapat dieksekusi, mempermudah konversi ke bahasa pemrograman

Struktur Kontrol Semua program ditulis dalam 3 macam bentuk struktur kontrol: Sequence atau berturutan: struktur ini tersedia secara built-in. Secara default program dieksekusi secara berturutan sesuai urutan perintah Selection atau pilihan: ada 3 macam dalam bahasa C: if, if…else, dan switch Repetition atau pengulangan: ada 3 macam dalam bahasa C: while, do…while, dan for Flowchart Representasi grafis dari algoritma Menggunakan simbol-simbol khusus yang dihubungkan dengan garis beranak panah Simbol kotak melambangkan aksi Simbol oval melambangkan awal dan akhir suatu program atau blok program Simbol berlian melambangkan keputusan/pilihan

Selection Control [1] (if) Statement if: Digunakan untuk seleksi suatu kondisi Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” Contoh Flowchart: true false grade >= 60 print “Passed”

Selection Control [2] (if) Jika kondisi true Statement Print dieksekusi dan program dilanjutkan ke statement berikutnya Jika kondisi false Statement Print diabaikan dan program dilanjutkan ke statement berikutnya Dalam bahasa C: if ( grade >= 60 ) printf( "Passed\n" );

Selection Control [3] (if…else) Statement if…else: Menspesifikasikan aksi baik untuk kondisi true maupun untuk kondisi false Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” else Print “Failed” Contoh Flowchart: true false print “Failed” print “Passed” grade >= 60

Selection Control [4] (if…else) Dalam C : if ( grade >= 60 ) printf( "Passed\n"); else printf( "Failed\n"); Ternary conditional operator (?:) Memerlukan tiga argumen (kondisi, nilai jika true, nilai jika false) Contoh di atas dapat ditulis sbb: printf( "%s\n", grade >= 60 ? "Passed" : "Failed" ); Atau dapat ditulis sbb: grade >= 60 ? printf( “Passed\n” ) : printf( “Failed\n” );

Selection Control [5] (if…else) Statement if…else bertingkat/bersarang: Digunakan untuk menguji banyak kondisi dimana menempatkan statement seleksi if…else di dalam statement if…else Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan Contoh pseudocode: If student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”

Selection Control [6] (if…else) Compound statement Ada lebih dari satu statement/aksi yang harus dieksekusi setelah suatu kondisi dipenuhi Sering disebut juga blok karena ditandai dengan pasangan { dan } Contoh: if ( grade >= 60 ) printf( "Passed.\n" ); else { printf( "Failed.\n" ); printf( "You must take this course again.\n" ); } Tanpa tanda kurung kurawal, statement printf( "You must take this course again.\n" ); Akan dieksekusi secara otomatis.

Selection Control [7] (switch) Multiple-Selection Statement switch: Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap semua nilai yang mungkin dan masing-masing mengambil aksi yang berbeda Format penulisan: Sederetan label case dan opsional default case switch ( value ){ case '1': actions case '2': default: } break; keluar dari statement

Selection Control [8] (switch) Flowchart statement switch: true false . case a case a action(s) break case b case b action(s) case z case z action(s) default action(s)

Repetition Control [1] (while) Struktur pengulangan structure Programmer menentukan aksi yang akan diulang selama kondisi tetap true Psuedocode: While there are more items on my shopping list Purchase next item and cross it off my list while loop diulang hingga kondisi menjadi false Contoh: int product = 2; while ( product <= 1000 ) product = 2 * product;

Repetition Control [2] (while) Flowchart: product <= 1000 product = 2 * product true false

Repetition Control [3] (while) Pengulangan yang dikontrol sebuah counter Loop diulang hingga counter mencapai angka tertentu Disebut juga definite repetition karena jumlah pengulangan dapat kita ketahui Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuis tersebut. Pseudocode: Set total to zero Set grade counter to one While grade counter is less than or equal to ten Input the next grade Add the grade into the total Add one to the grade counter Set the class average to the total divided by ten Print the class average

Latihan 1 Add Buat diagram alur untuk mencetak nama-nama pelamar yang lolos saringan tahap pertama. Dalam tes terdapat 2 materi. Bila jumlah nilai kedua materi tersebut lebih besar dari 70 pelamar dinyatakan lolos saringan tahap pertama. Bentuk laporan yang diinginkan terdiri dari nama pelamar, nilai tes dan keterangan.

Latihan 2 Add Suatu perusahaan akan membuat laporan gaji pegawainya berdasarkan golongannya. Data yang dibaca terdiri dari nomor pegawai, nama pegawai, golongan dan gaji bersih. Data yang dibaca sudah urut per golongan yang terdiri dari : golongan 1, 2, 3,4. Jika golongan berubah maka cetak TOTAL GAJI per golongan dan ganti halaman baru serta NOMOR dimulai dari 1.

Latihan Add

Contoh algoritma Siapkan gelas cadangan X Tuangkan gelas yang berisi teh ke gelas X Tuangkan gelas yang berisi kopi ke gelas teh Tuangkan gelas X yang berisi teh ke gelas kopi

Algoritma TUKAR_ISI_BEJANA Diberikan dua buah bejana, A dan B; bejana A berisi larutan merah, bejana B berisi larutan biru. Pertukarkan isi kedua bejana itu sehingga bejana A berisi larutan biru dan bejana B berisi larutan merah DESKRIPSI Tuangkan larutan dari bejana A ke bejana X Tuangkan larutan dari bejana B ke bejana A Tuangkan larutan dari bejana C ke bejana B Hasil akhir Bejana A berisi larutan dari bejana B semula Bejana B berisi larutan dari bejana A semula

Algoritma TUKAR_ISI_BEJANA Misal urutan diubah menjadi Tuangkan larutan dari bejana B ke bejana A Tuangkan larutan dari bejana A ke bejana X Tuangkan larutan dari bejana C ke bejana B Hasil akhir menjadi Bejana A kosong Bejana B berisi campuran larutan dari bejana A dan bejana semula B back

Algoritma dengan Flowchart

Algoritma dengan pseudo-code maks ← bilangan pertama if (maks < bilangan kedua) maks ← bilangan kedua if (maks < bilangan ketiga) maks ← bilangan ketiga back