• 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
- var
- i,j: integer;
- begin
- for i:=1 to row do
- begin
- for j:=1 to col do
- begin
- if (i=j) then M[i,j] := 1
- else
- M[i,j] := 0;
- end;
- end;
- 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
•
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 :
•
cryptography, data compression
algorithms
• Jenis Penulisan Logika Pemrograman
1. Ditinjau dari Kompleksitas:
•
Algoritma
efesien
2. Ditinjau dari Computing Power :
•
polynomial time ,
• 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
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 =
Tidak ada komentar:
Posting Komentar