Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Materi-Materi Pengantar AlgoritmaPengantar Algoritma Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman FlowchartFlowchart Tipe Data, Keywords, Konstanta,

Presentasi serupa


Presentasi berjudul: "Materi-Materi Pengantar AlgoritmaPengantar Algoritma Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman FlowchartFlowchart Tipe Data, Keywords, Konstanta,"— Transcript presentasi:

1 Materi-Materi Pengantar AlgoritmaPengantar Algoritma Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman FlowchartFlowchart Tipe Data, Keywords, Konstanta, VariabelTipe Data, Keywords, Konstanta, Variabel Struktur Input/OutputStruktur Input/Output PercabanganPercabangan PerulanganPerulangan Pemrograman ModularPemrograman Modular Fungsi: parameter, kembalian fungsi by valueFungsi: parameter, kembalian fungsi by value Array 1 dimensiArray 1 dimensi Array 2 dimensiArray 2 dimensi Manipulasi StringManipulasi String

2 Referensi Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001 Simon Harris and James Ross, Beginning Algorithms, Willey Publishing Inc, 2006Simon Harris and James Ross, Beginning Algorithms, Willey Publishing Inc, 2006 Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000 Iwan Binanto, Konsep Bahasa Pemrograman, Penerbit Andi Yogyakarta, 2005Iwan Binanto, Konsep Bahasa Pemrograman, Penerbit Andi Yogyakarta, 2005 Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra Wacana Media, 2005Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra Wacana Media, 2005 Suryadi H.S. Dan Agus Sumun, Pengantar Algoritma dan Pemrograman, Penerbit GunadarmaSuryadi H.S. Dan Agus Sumun, Pengantar Algoritma dan Pemrograman, Penerbit Gunadarma

3 Penilaian NilaiPoint/IPRange A4>=85 B3 >=70 - =70 - <85 C2 >=50 – =50 – <70 D1 >=35 – =35 – <50 E0 < 35 Komponen Penilaian: Tugas, Praktikum dan Quiz:40% UTS: 30% UAS:30%

4 Ketentuan Lain Kehadiran minimal 75%Kehadiran minimal 75% Penambahan nilai untuk UTS or UAS dari Aktifitas kelas, Kehadiran, Maju Depan, Kritikan atau Saran yang membangunPenambahan nilai untuk UTS or UAS dari Aktifitas kelas, Kehadiran, Maju Depan, Kritikan atau Saran yang membangun Tidak ada tugas tambahan untuk meningkatkan nilai yang kurangTidak ada tugas tambahan untuk meningkatkan nilai yang kurang Dosen berhak mengurangi nilai jika MHS yang bersangkutan melakukan kecurangan atau melakukan tindakan yang tidak baik di kelas maupun pada saat ujianDosen berhak mengurangi nilai jika MHS yang bersangkutan melakukan kecurangan atau melakukan tindakan yang tidak baik di kelas maupun pada saat ujian

5 Silabus Pengantar Algoritma dan Konsep Bahasa PemrogramanPengantar Algoritma dan Konsep Bahasa Pemrograman Flowchart dan Pengenalan VBFlowchart dan Pengenalan VB Tipe Data, Keywords, Konstanta dan Input/OutputTipe Data, Keywords, Konstanta dan Input/Output Percabangan SederhanaPercabangan Sederhana Percabangan Kompleks dan SwitchPercabangan Kompleks dan Switch Loop SederhanaLoop Sederhana Loop KompleksLoop Kompleks Modular ProgrammingModular Programming Fungsi by value: parameter, void dan non-voidFungsi by value: parameter, void dan non-void Array 1 DimensiArray 1 Dimensi Array 2 DimensiArray 2 Dimensi String Manipulation pada VBString Manipulation pada VB

6 Sistem Komputer Sebuah sistem komputer terdiri dari Hardware (perangkat keras), Software (perangkat lunak) dan Brainware, sedangkan Software dapat dikelompokkan menjadi Operating System Software, Programming Language Software dan Application Program Software.Sebuah sistem komputer terdiri dari Hardware (perangkat keras), Software (perangkat lunak) dan Brainware, sedangkan Software dapat dikelompokkan menjadi Operating System Software, Programming Language Software dan Application Program Software.

7 Bagan Sistem Komputer

8 Definisi Program/Pemrograman Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program) Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan yang diimplementasikan dengan bahasa pemrograman yang dapat dieksekusi oleh komputer. Dibuat dengan tujuan untuk mempermudah user dalam memberikan instruksi / perintah ke komputer.Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan yang diimplementasikan dengan bahasa pemrograman yang dapat dieksekusi oleh komputer. Dibuat dengan tujuan untuk mempermudah user dalam memberikan instruksi / perintah ke komputer. Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.

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

10 Paradigma Pemrograman Pemrograman ProseduralPemrograman Prosedural Berdasarkan urutan-urutan, sekuensialBerdasarkan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.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.Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah. Pemrograman FungsionalPemrograman Fungsional Berdasarkan teori fungsi matematikaBerdasarkan teori fungsi matematika Fungsi merupakan dasar utama program.Fungsi merupakan dasar utama program. Pemrograman TerstrukturPemrograman Terstruktur Secara berurutan dan terstrukrtur.Secara berurutan dan terstrukrtur. Program dapat dibagai-bagi menjadi prosedur dan fungsi.Program dapat dibagai-bagi menjadi prosedur dan fungsi. Contoh: PASCAL dan CContoh: PASCAL dan C Pemrograman ModularPemrograman Modular Pemrograman ini membentuk banyak modul.Pemrograman ini membentuk banyak modul. Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiriModul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri Sebuah program dapat merupakan kumpulan modul-modul.Sebuah program dapat merupakan kumpulan modul-modul. Contoh: MODULA-2 atau ADAContoh: MODULA-2 atau ADA

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

12 Siklus Hidup Perangkat Lunak (Software) Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program).Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program).

13

14

15

16

17

18

19

20 Algoritma Game :Game : Use Your Mind! Use Your Mind!

21 Langkah Use Your Mind 1.2 kanibal naik perahu ke seberang kiri 2.Pindahkan 1 kanibal ke seberang kiri 3.Perahu kembali ke seberang kanan dgn 1 kanibal 4.Ulangi langkah misionaris naik perahu ke seberang kiri 6.Di seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahu 7.Perahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionaris 8.Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang kanan 9.Perahu kembali ke seberang kiri dgn 2 misionaris 10.Turunkan semua misionaris di perahu ke seberang kiri 11.Perahu kembali ke seberang kanan dgn 1 kanibal 12.Ulangi langkah kanibal naik perahu ke seberang kiri 14.Turunkan kedua kanibal ke seberang kiri

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44 NO

45

46 Contoh RequirementRequirement Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilanganBuat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan Nantinya ini bisa digeneralisir menjadi n buah bilanganNantinya ini bisa digeneralisir menjadi n buah bilangan Add

47 Algoritma Dalam Bahasa Natural 1.Ambil bilangan pertama dan set maks sama dengan bilangan pertama 2.Ambil bilangan kedua dan bandingkan dengan maks 3.Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua 4.Ambil blangan ketiga dan bandingan dengan maks 5.Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga 6.Variabel maks berisi bilangan terbesar. Tayangkan hasilnya Add

48 Algoritma dengan Flowchart Add

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

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

51 Tugas Buat algoritma untukBuat algoritma untuk Mengurutkan bilangan (sorting) untuk n buah data (misalnya data nilai mahasiswa)Mengurutkan bilangan (sorting) untuk n buah data (misalnya data nilai mahasiswa) Tower of hanoiTower of hanoi … Add

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

53 Struktur Kontrol Semua program ditulis dalam 3 macam bentuk 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 perintahSequence 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 switchSelection 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 forRepetition atau pengulangan: ada 3 macam dalam bahasa C: while, do…while, dan for FlowchartFlowchart Representasi grafis dari algoritmaRepresentasi grafis dari algoritma Menggunakan simbol-simbol khusus yang dihubungkan dengan garis beranak panahMenggunakan simbol-simbol khusus yang dihubungkan dengan garis beranak panah Simbol kotak melambangkan aksiSimbol kotak melambangkan aksi Simbol oval melambangkan awal dan akhir suatu program atau blok programSimbol oval melambangkan awal dan akhir suatu program atau blok program Simbol berlian melambangkan keputusan/pilihanSimbol berlian melambangkan keputusan/pilihan

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

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

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

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

58 Selection Control [5] ( if…else ) Statement if…else bertingkat/bersarang:Statement if…else bertingkat/bersarang: Digunakan untuk menguji banyak kondisi dimana menempatkan statement seleksi if … else di dalam statement if … elseDigunakan untuk menguji banyak kondisi dimana menempatkan statement seleksi if … else di dalam statement if … else Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikanSekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan Contoh pseudocode:Contoh pseudocode: I f 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”

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

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

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

62 Repetition Control [1] ( while ) Struktur pengulangan structureStruktur pengulangan structure Programmer menentukan aksi yang akan diulang selama kondisi tetap trueProgrammer menentukan aksi yang akan diulang selama kondisi tetap true Psuedocode: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 falsewhile loop diulang hingga kondisi menjadi false Contoh:Contoh: int product = 2; while ( product <= 1000 ) product = 2 * product;

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

64 Repetition Control [3] ( while ) Pengulangan yang dikontrol sebuah counterPengulangan yang dikontrol sebuah counter Loop diulang hingga counter mencapai angka tertentuLoop diulang hingga counter mencapai angka tertentu Disebut juga definite repetition karena jumlah pengulangan dapat kita ketahuiDisebut 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.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: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

65


Download ppt "Materi-Materi Pengantar AlgoritmaPengantar Algoritma Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman FlowchartFlowchart Tipe Data, Keywords, Konstanta,"

Presentasi serupa


Iklan oleh Google