Jumat, 08 Agustus 2014

Tugas X TKJ

       Algoritma dan Pemrograman
ArfanRahman
Kode AP1-1 (Pengertian-Pengertian)
Teknik Informatika
       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
       Pengertian Algoritma dan Pemrograman
       Ilustrasi :
       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 ?
       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)
       Pengertian Algoritma dan Pemrograman
       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.
       Pengertian Algoritma dan Pemrograman
       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
       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;
  3.  
  4.     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] := 1
  10.           else
  11.              M[i,j] := 0;
  12.         end;
  13.       end;
  14.     end
       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 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.
       Jenis Penulisan Logika Pemrograman
1.       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)
2.       Ditinjau dari Kajian Studi :
       search algorithms,
       sorting algorithms,
       merge algorithms,
       numerical algorithms,
       graph algorithms,
       string algorithms,
       combinatorial algorithms,
       machine learning,
       cryptography, data compression algorithms
       parsing techniques
       Jenis Penulisan Logika Pemrograman
1.       Ditinjau dari Kompleksitas:
       Algoritma efesien
2.       Ditinjau dari Computing Power :
       polynomial  time ,
       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.
  2. Low-Level Languages : menunjukkan bahasa yang dekat dengan hardware, dikenal dengan bahasa asembly.
                Contoh :
    fib: mov edx, [esp+8+1]
          cmp edx, 0
          ja @f
          mov eax, 0
          ret
          @@:
            cmp edx, 2
            ja @f
            mov eax, 1
       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.
       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
       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
       Operator
       Operator Biner Aritmetik:
       Operator
       String Operator
       Set Operator
       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 =