Deskripsi Matakuliah

Click here to load reader

download Deskripsi Matakuliah

of 73

  • date post

    29-Jan-2016
  • Category

    Documents

  • view

    89
  • download

    1

Embed Size (px)

description

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. - PowerPoint PPT Presentation

Transcript of Deskripsi Matakuliah

T1063 Algoritma dan Pemrograman

Algoritma dengan Flowchart

Contoh algoritmaSiapkan gelas cadangan XTuangkan gelas yang berisi teh ke gelas XTuangkan gelas yang berisi kopi ke gelas tehTuangkan gelas X yang berisi teh ke gelas kopi

Materi-MateriPengantar Algoritma Konsep Bahasa PemrogramanFlowchartTipe Data, Keywords, Konstanta, VariabelStruktur Input/OutputPercabanganPerulanganPemrograman ModularFungsi: parameter, kembalian fungsi by valueArray 1 dimensiArray 2 dimensiManipulasi String ReferensiRijanto Tosin, Flowchart untuk Siswa dan Mahasiswa, Diastindo 1997Budi Sutedjo Skom,., MM dan Michael AN, SKOM, Algoritma & Teknik Pemrograman , Penerbit Andi YogyakartaRinaldi 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, 1978Seri Dikat Kuliah : Pengantar Algoritma dan Pemrograman : Teknik Diagram Alur dan Bahasa Basic Dasar, Penerbit Gunadarma, Jakarta, 1991Yay Singleman, Business Programming Logic 2nd-ed, Prentice Hall Engelwood Cliffs, New Jersey,1982Gottfried, Programming in BASIC, MC Graw Hill, New York, 1981Jogiyanto, Teori dan Aplikasi dan Program Komputer Bahasa Basic, Andi Yogyakarta.ReferensiGottfried, Programming in BASIC, MC Graw Hill, New York, 1981Insap 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 PemrogramanAdalah alat untuk membuat programContoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.

Perbedaan: cara memberikan instruksiPersamaan: bertujuan menghasilkan output yang sama

Paradigma PemrogramanPemrograman ProseduralBerdasarkan urutan-urutan, sekuensialProgram 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 FungsionalBerdasarkan teori fungsi matematikaFungsi merupakan dasar utama program.Pemrograman TerstrukturSecara berurutan dan terstrukrtur.Program dapat dibagai-bagi menjadi prosedur dan fungsi.Contoh: PASCAL dan CPemrograman ModularPemrograman ini membentuk banyak modul.Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiriSebuah program dapat merupakan kumpulan modul-modul.Contoh: MODULA-2 atau ADA Paradigma PemrogramanPemrograman Berorientasi ObyekPemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasiContoh: C++, Object Pascal, dan Java.Pemrograman Berorientasi FungsiPemrograman 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 DeklaratifPemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.Contoh: PROLOG

MASALAH / IDEAPEMECAHANSOLUSI / HASILAlgoritma

Source CodeExecutable CodeTAHAP PENGEMBANGAN ALGORITMA TAHAP PENGEMBANGAN ALGORITMA 13DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIYYTTTAHAP PENGEMBANGAN ALGORITMA 14DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIMasalah:Tentukan akar-akar dari suatu persamaan kwadrat.Definisi:Persamaan kwadrat : ax^2 + bx + c = 0Data yg diperlukan :Nilai dari a, b dan c : tipe real15TAHAP PENGEMBANGAN ALGORITMA DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIModel Matematika :Rumus ABC x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b sqrt(b^2 - 4ac))/2a16TAHAP PENGEMBANGAN ALGORITMA Start d = b^2 4ac d < 0Masukkan a,b,cCetak Pesan Akar imajiner x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2aCetak : x1, x2StopYTTULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIDEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMA17

DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASITAHAP PENGEMBANGAN ALGORITMA 18

DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASITAHAP PENGEMBANGAN ALGORITMA 19

DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASITAHAP PENGEMBANGAN ALGORITMA 20

DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASITAHAP PENGEMBANGAN ALGORITMA 21DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASI

TAHAP PENGEMBANGAN ALGORITMA

22DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASITAHAP PENGEMBANGAN 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.

Ciri-Ciri AlgoritmaDefinisikan 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.Cara Membuat Algoritma Sebuah ProgramRepresentasi algoritma berbeda-beda.Diantaranya: block code, diagram/FlowChart, dsb.

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

nextAlgoritma Dalam Bahasa NaturalAmbil bilangan pertama dan set maks sama dengan bilangan pertamaAmbil bilangan kedua dan bandingkan dengan maksApa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan keduaAmbil bilangan ketiga dan bandingkan dengan maksApabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketigaVariabel maks berisi bilangan terbesar. Tayangkan hasilnyanext

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)Cara Membuat Sebuah FlowChartContoh FlowChartSTARTREAD A, B, CIS A>B?IS A>C?IS B>C?NOYESPRINT BYESENDPRINT CPRINT ANOYESNO

NO

Aspek Penting dari AlgoritmaFinitenessAlgoritma harus berhenti after a finite number of stepsDefinitenessSetiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)InputSebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankanOutputSebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada inputEffectivenessSetiap algoritma diharapkan miliki sifat efektifAddAlgoritma dan PseudocodeAlgoritma: urutan langkah-langkah yang dapat digunakan untuk memecahkan suatu masalahPseudocode:Bahasa buatan yang bersifat informal yang dapat membantu untuk mengembangkan algoritmaSerupa dengan bahasa sehari-hariMembantu mempermudah penulisan program; dengan menggunakan statement-statement yang dapat dieksekusi, mempermudah konversi ke bahasa pemrograman Struktur KontrolSemua 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 perintahSelection atau pilihan: ada 3 macam dalam bahasa C: if, ifelse, dan switchRepetition atau pengulangan: ada 3 macam dalam bahasa C: while, dowhile, dan forFlowchartRepresentasi grafis dari algoritmaMenggunakan simbol-simbol khusus yang dihubungkan dengan garis beranak panahSimbol kotak melambangkan aksiSimbol oval melambangkan awal dan akhir suatu program atau blok programSimbol berlian melambangkan keputusan/pilihan

Selection Control [1] (if)Statement if:Digunakan untuk seleksi suatu kondisiContoh pseudocode:If students grade is greater than or equal to 60 Print PassedContoh Flowchart:

true

false

grade >= 60

print Passed

Selection Control [2] (if)Jika kondisi trueStatement Print dieksekusi dan program dilanjutkan ke statement berikutnyaJika kondisi falseStatement Print diabaikan dan program dilanjutkan ke statement berikutnyaDalam bahasa C:if ( grade >= 60 ) printf( "Passed\n" );

Selection Control [3] (ifelse)Statement ifelse:Menspesifikasikan aksi baik untuk kondisi true maupun untuk kondisi falseContoh pseudocode:If students grade is greater than or equal to 60 Print Passedelse Print FailedContoh Flowchart:

true

false

print Failed

print Passed

grade >= 60

Selection Control [4] (ifelse)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] (ifelse)Statement ifelse bertingkat/bersarang