Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Algoritma dan Pemrograman I

Presentasi serupa


Presentasi berjudul: "Algoritma dan Pemrograman I"— Transcript presentasi:

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

2 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

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

4 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 ?

5 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)

6 Pengertian Algoritma dan Pemrograman
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 ?

7 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.

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

9 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 Al-Khwārizmī, Persian astronomer and mathematician, the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits algorism Algoritmi calculation method Algorithm a sequence of finite instructions, often used for calculation and data processing

10 Jenis Penulisan Logika Pemrograman
Bahasa Natural : digunakan untuk membuat algoritma yang komplek atau algoritma teknik. Contoh : Buat kotak dengan sama sisi Tentukan sisi dengan ukuran yang sama panjang 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. if NIM Valid then Eksekusi transkrip nilai else tampilkan pesan kesalahan end if

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

12 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 var i,j: integer; begin for i:=1 to row do for j:=1 to col do if (i=j) then M[i,j] := 1 else M[i,j] := 0; end; end

13 Jenis Penulisan Logika Pemrograman
Klasifikasi Algoritma : Ditinjau dari Implementasi : Recursion or iteration: A recursive algorithm merupakan algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi, dikenal dengan functional 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. Exact atau approximate: mencari suatu perkiraan yang bisa menghampiri solusi yang benar. Biasa digunakan pada deterministik atau strategi random.

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

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

16 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 : Ambil Mie Nyalakan kompor Ambil wadah dan isi air Panaskan air hingga mendidih Masukkan Mie kedalam wadah yang berisi air mendidih Aduk hingga matang Angkat dan sajikan Lambang bilangan 1 – 7 merupakan penggunaan lambang untuk langkah yang dikerjakan.

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

18 Bahasa Pemrograman dan Tingkatan
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. 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

19 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. Compiled  : menterjemahkan kedalam bentuk executable program sebelum di run. Terbagi atas : Intermediate representations  : ketika eksekusi dibuat terlebih dulu representasi program dalam bentuk bytecode, sehingga ketika kompilasi tidak membaca program sumber kembali Machine code generation  : mengkompilasi langusung menjadi bahasa mesin Translated : bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin.

20 Bahasa Pemrograman dan Tingkatan
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 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 11 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 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

21 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

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

23 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

24 Tipe data ordinal dan tipe bentukan
Data ordinal : tipe data yang memiliki ranah yang dapat dihitung. Contoh : Integer : … 32767 Real : 2.9 x e … 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

25 Operator Operator Biner Aritmetik: Operator Operation Operand types
Result type + Addition integer type real type - Subtraction * Multiplication / Division div Integer division mod Remainder

26 Operator String Operator Set Operator Operator Operation Operand types
Result type + concatenation string type, Char type, string type or packed string type Operator Operation Operand types + Union compatible set types - Difference * Intersection 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.

27 Operator Boolean Operator Logical Operator Operator Operation
Operand types Result type not negation Boolean and logical and or logical or xor logical xor Operator Operation Operand types Result type not Bitwise negation integer type and Bitwise and or Bitwise or xor Bitwise xor shl Shift left shr Shift right

28 Operator Relational Operator Operator Operation Result type
Operand types = Equal Boolean compatible simple, pointer, set, string, or packed string types <> Not equal < Less than compatible simple, string, packed string types, or PChar > Greater than <= Less or equal >= Greater or equal compatible simple, string, or packed string types, or PChar Subset of compatible set types Superset of in Member of left operand: any ordinal type T; right operand: set whose base is compatible with T.

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

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

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


Download ppt "Algoritma dan Pemrograman I"

Presentasi serupa


Iklan oleh Google