Algoritma dan Pemrograman I - PowerPoint PPT Presentation

About This Presentation
Title:

Algoritma dan Pemrograman I

Description:

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

Number of Views:3555
Avg rating:3.0/5.0
Slides: 32
Provided by: asus89
Category:

less

Transcript and Presenter's Notes

Title: Algoritma dan Pemrograman I


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
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-Khwarizmi, 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.
  • Contoh
  • if NIM Valid then
  • Eksekusi transkrip nilai
  • else tampilkan pesan kesalahan
  • end if

11
Jenis Penulisan Logika Pemrograman
  1. 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 i1 to row do
  • begin
  • for j1 to col do
  • begin
  • if (ij) then Mi,j 1
  • else
  • Mi,j 0
  • end
  • 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

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, esp81
  • cmp edx, 0
  • ja _at_f
  • mov eax, 0
  • ret
  • _at__at_
  • cmp edx, 2
  • ja _at_f
  • 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 -32768 32767
  • 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

25
Operator
  • Operator Biner Aritmetik

Operator Operation Operand types Result type
Addition integer type integer type
    real type real type
- Subtraction integer type integer type
    real type real type
Multiplication integer type integer type
    real type real type
/ Division integer type real type
    real type real type
div Integer division integer type integer type
mod Remainder integer type integer type
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 compatible set types
Intersection compatible set types
Hasil dari operasi set tergantung dari aturan logika set 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 Boolean
and logical and Boolean Boolean
or logical or Boolean Boolean
xor logical xor Boolean Boolean
Operator Operation Operand types Result type
not Bitwise negation integer type integer type
and Bitwise and integer type integer type
or Bitwise or integer type integer type
xor Bitwise xor integer type integer type
shl Shift left integer type integer type
shr Shift right integer type integer type
28
Operator
  • Relational Operator

Operator Operation Result type Operand types
Equal Boolean compatible simple, pointer, set, string, or packed string types
ltgt Not equal Boolean compatible simple, pointer, set, string, or packed string types
lt Less than Boolean compatible simple, string, packed string types, or PChar
gt Greater than Boolean compatible simple, string, packed string types, or PChar
lt Less or equal Boolean compatible simple, string, packed string types, or PChar
gt Greater or equal Boolean compatible simple, string, or packed string types, or PChar
lt Subset of Boolean compatible set types
gt Superset of Boolean compatible set types
in Member of Boolean left operand any ordinal type T
      right operand set whose base is compatible with T.
29
Tipe Data Untuk Berbagai Kasus
  • Kasus 1
  • 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
  • Kasus 3
  • 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 ltgt 7
  • 4 gt 3
  • 4 in 1,2,3,4

31
Tugas (Kode AP1-2)
  • Tugas
  • Membuat contoh ranah tipe data minimal 50 buah.
  • Dikerjakan kelompok
Write a Comment
User Comments (0)
About PowerShow.com