Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Algoritma dan Pemrograman I Agus Nursikuwagus Kode AP1-1 (Pengertian-Pengertian) Teknik Informatika Sekolah Tinggi Teknologi dan Sains Indonesia.

Presentasi serupa


Presentasi berjudul: "Algoritma dan Pemrograman I Agus Nursikuwagus Kode AP1-1 (Pengertian-Pengertian) Teknik Informatika Sekolah Tinggi Teknologi dan Sains Indonesia."— Transcript presentasi:

1

2 Algoritma dan Pemrograman I Agus Nursikuwagus Kode AP1-1 (Pengertian-Pengertian) Teknik Informatika Sekolah Tinggi Teknologi dan Sains Indonesia

3 Pengertian – Pengertian (AP1-1) Tujuan Instuksional Umum “ Mahasiswa mampu mendefinisikan Algoritma dan Pemrograman serta mengenal berbagai jenis bahasa pemrograman“ Tujuan Instruksional khusus : – Mengenal asal pengertian algoritma dan pemrograman – Mengenal jenis penulisan logika pemrograman – Mengenal berbagai tata cara penulisan logika – Mampu menyebutkan dan mengelompokan bahasa pemrograman kedalam tingkatan bahasa pemrograman – Mampu menyebutkan bahasa pemrograman dan kegunaannya 2

4 Pengertian Algoritma dan Pemrograman Ilustrasi : 3 Bagaimana caranya agar mobil dan pengemudi sampai di tujuan

5 Pengertian Algoritma dan Pemrograman Dari gambar ilustrasi – Berapa kemungkinan penyelesaian jalan yang dilalui ? (buat tanda panah sebagai petunjuk arah) – Anggap satu kemungkinan yang dipilih, tuliskan tahapan yang harus dilalui – Dari tahapan yang dibuat apakah menyelesaikan masalah ? 4

6 Pengertian Algoritma dan Pemrograman Dari pertanyaan yang diajukan, ada suatu hipotesa : – Untuk menyelesaikan suatu permasalahan pasti harus memiliki alur yang jelas dan tepat. – Dari alur yang dibuat pasti susunan / tahapan tersusun secara sistematis dan hirarkis – Susunan sistematis dan hirarkis pasti dapat menyelesaikan masalah tertentu Keyakinan yang didapat : – Setiap menyelesaikan masalah harus menggunakan cara-cara sistematis, terstruktur, dan hirarkis – Cara-cara tersebut harus bisa dituliskan secara benar dan masuk akal. (Metode Ilmiah) 5

7 Pengertian Algoritma dan Pemrograman 6 Bagaimana karateristik komputer ? Komputer terdiri dari rangkaian elektronik IC, Kawat Tembaga, mainboard, dll Terdiri dari ribuan transistor (tergabung dalam IC) yang berisikan gerbang-gerbang logika (AND,OR, NAND, NOR, dll) Eksekusi dipicu dari adanya masukan (input) listrik berkisar 5 volt dan berupa TRUE / FLASE Aliran data berupa dijit biner 1 dan 0, yang tersusun sesuai instruksi Instruksi dibuat secara sistematis dan hirarkis, dan masuk akal (sesuai logika) Question : Bagaimana agar instruksi dapat dimengerti dan bisa menghasilkan keluaran (output) sesuai keinginan ?

8 Pengertian Algoritma dan Pemrograman Answer : – Harus ada instruksi yang dimengerti oleh komputer – Komputer hanya terdiri dari rangkaian elektronik, karena itu hanya mengerti nilai 1 dan 0 – Nilai 1 dan 0, dapat berupa rangkaian instruksi jika disusun dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu – Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer. – Karena itu pasti komputer punya bahasa, dan kita harus membuat bahasa yang dimengerti oleh komputer. – Bahasa tersebut dikenal dengan istilah bahasa pemrograman. – Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan. 7

9 Pengertian Algoritma dan Pemrograman 8 Urutan logika untuk menyelesaikan masalah tertentu Algoritma Instruksi yang dikenal oleh komputer Istilah Diterjemahkan oleh bahasa pemrograman Contoh : PASCAL, C, DELPHI, dll Hasil

10 Pengertian Algoritma dan Pemrograman Simpulan : – Algoritma : urutan-urutan logis dari suatu pernyataan untuk menyelesaikan kasus / masalah tertentu – Pemrograman : proses penterjemahan algoritma kedalam bahasa yang dimengerti oleh komputer. Asal kata algoritma 9 Al-Khw ā rizm ī Al-Khw ā rizm ī, Persian astronomer and mathematician,Persianastronomermathematician Algoritmi algorism Algorithm the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digitsarithmeticplace valuefacts calculation method a sequence of finite instructions, often used for calculation and data processingcalculationdata processing

11 Jenis Penulisan Logika Pemrograman 1.Bahasa Natural : digunakan untuk membuat algoritma yang komplek atau algoritma teknik. – Contoh : Buat kotak dengan sama sisi Tentukan sisi dengan ukuran yang sama panjang 2.Pseudocode : susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman, tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur), deklarasi varabel dan kode sistem khusus. – Contoh : if NIM Valid then Eksekusi transkrip nilai else tampilkan pesan kesalahan end if 10

12 Jenis Penulisan Logika Pemrograman 3.Flowcharts (representasi grafik) : representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah. 11

13 Jenis Penulisan Logika Pemrograman Bahasa Pemrograman : bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin, seperti komputer. Contoh : bahasa pemrograman PASCAL 1.var 2. i,j: integer; begin 5. for i:=1 to row do 6. begin 7. for j:=1 to col do 8. begin 9. if (i=j) then M[i,j] := else 11. M[i,j] := 0; 12. end; 13. end; 14. end 12

14 Jenis Penulisan Logika Pemrograman Klasifikasi Algoritma : 1.Ditinjau dari Implementasi : Recursion or iteration : A recursive algorithm merupakan algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi, dikenal dengan functional programmingrecursive algorithmfunctional programming Logical : suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol. Serial atau parallel atau distributed : algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu. Deterministic or non-deterministic : algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya, sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan.algoritmnon-deterministic Exact atau approximate : mencari suatu perkiraan yang bisa menghampiri solusi yang benar. Biasa digunakan pada deterministik atau strategi random. 13

15 Jenis Penulisan Logika Pemrograman 2.Ditinjau dari Paradigma perancangan: Divide and conquer Dynamic programming The greedy method Linear programming Reduction. Reduction Search and enumeration The probabilistic and heuristic paradigm (Probabilistic algorithms, Genetic algorithms, Heuristic algorithms)Probabilistic algorithmsGenetic algorithms Heuristic 3.Ditinjau dari Kajian Studi : search algorithms, search algorithms sorting algorithms, sorting algorithms merge algorithms, merge algorithms numerical algorithms, numerical algorithms graph algorithms, graph algorithms string algorithms, string algorithms computational geometric algorithms, computational geometric algorithms combinatorial algorithms, combinatorial algorithms machine learning, machine learning cryptography, data compression algorithms cryptographydata compression parsing techniques 14

16 Jenis Penulisan Logika Pemrograman 4.Ditinjau dari Kompleksitas: Algoritma efesien 5.Ditinjau dari Computing Power : polynomial time, polynomial time primitive recursive functions 15

17 Tata Cara Penulisan Logika Yang harus diingat dalam menuliskan logika adalah :  Domain (masalah utama) yang ingin diselesaikan  Keteraturan / susunan pernyataan logika yang mengarah pada penyelesaian masalah  Penggunaan notasi / lambang / simbol yang digunakan dalam menterjemahkan suatu logika Contoh : Membuat Mie Rebus  Masalah utama : Mie Rebus (hasil yang akan diperoleh)  Susunan : 1.Ambil Mie 2.Nyalakan kompor 3.Ambil wadah dan isi air 4.Panaskan air hingga mendidih 5.Masukkan Mie kedalam wadah yang berisi air mendidih 6.Aduk hingga matang 7.Angkat dan sajikan  Lambang bilangan 1 – 7 merupakan penggunaan lambang untuk langkah yang dikerjakan. 16

18 Tata Cara Penulisan Logika Diskusi :  Buat penyelesaikan masalah untuk “Anda belajar AP1 di ST-INTEN”  Selesaikan dalam 10 Menit Penyelesaian :  Domain : ……………………………………  Susunan : …………………………………… 17

19 Bahasa Pemrograman dan Tingkatan 1.High-Level languages : menunjukan level abtraksi tertinggi dari bahasa mesin, bekerja dengan teknik usability, threads, locks, objects, variables, arrays dan aritmetik komplek atau ekspresi boolean. usabilitythreadsobjects 2.Low-Level Languages : menunjukkan bahasa yang dekat dengan hardware, dikenal dengan bahasa asembly. Contoh : fib: mov edx, [esp+8+1] cmp edx, 0 mov eax, 0 ret cmp edx, 2 mov eax, 1 18

20 Bahasa Pemrograman dan Tingkatan Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan. Contoh Bahasa : – High Level : PASCAL, C, DELPHI, JAVA, dll – Low Level : Assembler, TASM, MASM, dll Model Eksekusi : – Interpreted : Interpreted languages melakukan eksekusi dan pembacaan secar alangsung, dan tidak ada tahapan kompilasi.Interpreted languages – Compiled : menterjemahkan kedalam bentuk executable program sebelum di run. Terbagi atas : 1.Intermediate representations : ketika eksekusi dibuat terlebih dulu representasi program dalam bentuk bytecode, sehingga ketika kompilasi tidak membaca program sumber kembali 2.Machine code generation : mengkompilasi langusung menjadi bahasa mesin – Translated : bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin. 19

21 Bahasa Pemrograman dan Tingkatan 1. Array languages 2 Aspect-oriented languages 3 Assembly languages 4 Authoring languages 5 Command line interface languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages – LISPs 22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages 29.1 Multiple dispatch 29.2 Single dispatch 30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages 36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

22 Tugas (Kode AP1-1) Tugas : – Mencari definisi algoritma dan pemrograman dari berbagai referensi – Mencari jenis bahasa pemrograman dan mengelompokan kedalam tingkatan bahasa pemrograman serta menyebutkan kegunaannya – Dikerjakan secara individu 21

23 Algoritma dan Pemrograman I Agus Nursikuwagus Kode AP1-2 (Tipe Data dan Notasi Aritmetika) Teknik Informatika Sekolah Tinggi Teknologi dan Sains Indonesia

24 Tipe Data dan Notasi Aritmetika (Kode AP1-2) Tujuan Instuksional Umum “ Mahasiswa mampu menyebutkan tipe data dan kegunaan notasi aritmatika “ Tujuan Instruksional khusus : – Mengenal Tipe data ordinal dan tipe bentukan – Mampu menyebutkan ranah tiap-tiap tipe ordinal dan tipe bentukan – Mampu menggunakan tipe data untuk berbagai kasus – Mengenal kegunaan notasi aritmetika dan cara menggunakannya Durasi 60 Menit Tatap Muka Metode : Tutorial dan Diskusi 23

25 Tipe data ordinal dan tipe bentukan Data ordinal : tipe data yang memiliki ranah yang dapat dihitung. Contoh : – Integer : … – Real : 2.9 x e -39 … 1.7 x 10 e 38 – Char : char(0) … char (255) – Bolean : [ TRUE,FALSE] – String : ‘abc’,’456’,’10’ Tipe bentukan : – LIST – Record (rekaman) – STACK – FILE – TREE, dll Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255 elemen 24

26 Operator Operator Biner Aritmetik: OperatorOperationOperand typesResult type +Additioninteger type real type -Subtractioninteger type real type *Multiplicationinteger type real type /Divisioninteger typereal type divInteger divisioninteger type modRemainderinteger type 25

27 Operator String Operator Set Operator OperatorOperationOperand typesResult type +concatenationstring type, Char type,string type or packed string type OperatorOperationOperand types +Unioncompatible set types -Differencecompatible set types *Intersectioncompatible set types Hasil dari operasi set tergantung dari aturan logika set : -An ordinal value C is in A + B only if C is in A or B. -An ordinal value C is in A - B only if C is in A and not in B. -An ordinal value C is in A * B only if C is in both A and B. 26

28 Operator Boolean Operator Logical Operator OperatorOperationOperand typesResult type notnegationBoolean andlogical andBoolean orlogical orBoolean xorlogical xorBoolean OperatorOperationOperand typesResult type notBitwise negationinteger type andBitwise andinteger type orBitwise orinteger type xorBitwise xorinteger type shlShift leftinteger type shrShift rightinteger type 27

29 Operator Relational Operator OperatorOperationResult typeOperand types =EqualBoolean compatible simple, pointer, set, string, or packed string types <>Not equalBoolean compatible simple, pointer, set, string, or packed string types Greater thanBooleancompatible simple, string, packed string types, or PChar <=Less or equalBooleancompatible simple, string, packed string types, or PChar >= Greater or equalBoolean compatible simple, string, or packed string types, or PChar <=Subset ofBooleancompatible set types >=Superset ofBooleancompatible set types inMember ofBooleanleft operand: any ordinal type T; right operand: set whose base is compatible with T. 28

30 Tipe Data Untuk Berbagai Kasus Kasus 1 : – Definisikan suatu tipe data untuk nilai-nilai berikut: ‘Saya Pergi ke ST-INTEN’ x (Januari,…, Desember) 6.X bernilai False, dan Y bernilai TRUE 7.Y = 10 Kasus 2 – Gunakan operator yang sudah ada, berapakah hasilnya = 2.‘saya’ + ‘ dia’ = 3.TRUE and False = 4.7 div 3 = 5.8 mod 3 = 29

31 Tipe Data Untuk Berbagai Kasus Kasus 3: – Berapa hasilnya X = (1,2,3,4,5,6) Y = (3,5,6,8) 1.X + Y = 2.X – Y = 3.X * Y = – Berapa hasilnya (TRUE / FALSE): 1.A = A 2.Aku = Aku 3.5 <> >= in [1,2,3,4] 30

32 Tugas (Kode AP1-2) Tugas : – Membuat contoh ranah tipe data minimal 50 buah. – Dikerjakan kelompok 31


Download ppt "Algoritma dan Pemrograman I Agus Nursikuwagus Kode AP1-1 (Pengertian-Pengertian) Teknik Informatika Sekolah Tinggi Teknologi dan Sains Indonesia."

Presentasi serupa


Iklan oleh Google