Anda di halaman 1dari 24

Algoritma dan

Pemrograman
3 sks
Ol
eh

Pertemuan ke-1
:A
de
Su
pr
iat

Program Studi Teknik Informatika


na
S.K,

STMIK Mardira Indonesia


om
,M
T.

1
Definisi Algoritma
• Urutan logis pengambilan putusan untuk pemecahan masalah (sumber: kamus
besar bahasa Indonesia, 1998).
• Logis maknanya dapat dipertanggung jawabkan nilai kebenarannya (nilai
true/false).
• Algoritma diperuntukan bagi siapa saja yang ingin mempelajari/
menggunakan bahasa pemrograman

2
Penemu Algoritma
• Kata algoritma ditemukan oleh Abu Ja’far Mohammed Ibn
Musa al-Khowarizmi, ilmuwan Persia yang menulis buku
“Al Jabr W’Al-Muqabala” (Rules of Restoration and
Reduction), terbit 825 M.

• Sejarawan al-Tabari menamakannya Muhammad bin Musa al-


Khwārizmī al-Majousi al-Katarbali (Arab: ‫ارزيم‬
ّ ‫محم د ب نموىسا خلو‬
‫جملويس ا لقطر ّب ّيل‬
ّ ‫)ا‬. , Sebutan al-Qutrubbulli mengindikasikan al-
Khawārizmī berasal dari Qutrubbull, kota kecil dekat Baghdad,
https://id.wikipedia.org

3
Cara menuliskan Algoritma
1.Natural language (bahasa alami)
2.Flowchart (diagram alir)
3.Pseudo-code (metode penulisan dengan
pendekatan penulisan di bahasa pemrograman. dan
dalam pembahasan ini menggunakan metode ini)

4
Notasi pseudo-code
Program <NamaProgram> Program menghitung_luas_pp
Deklarasi Deklarasi
Algoritma : Panjang,lebar,luas : integer
Algoritma :
panjang←10
lebar←5
luas←panjang*lebar
write(luas)
Contoh penerapan

5
Peran dan posisi Algoritma
problem

algoritma pemrograman

solusi

6
Struktur dasar Algoritma
1.Metode runtunan (Sequence)
2.Metode pemilihan/percabangan (Selection)
contoh perintah : if-then, if-then-else, depend on
3. Metode perulangan (iteration)
contoh perintah : for-do, while-do, repeat-until

7
Materi pembahasan lengkapnya
1. Definisi dan tujuan pembelajaran,
Notasi algoritma dan bentuk-bentuk
penyajian algoritma 1. Matriks
2. Pengenalan tipe-nama-nilai data, 2. Pencarian
variabel dan konstanta
3. Pengurutan
3. Contoh-contoh permasalahan UTS
sederhana yang akan dibuatkan 4. Rekaman
algoritmanya 5. Stack
4. Struktur dasar Algoritma 6. Pointer
5. Modularisasi (prosedur dan fungsi) 7. Studi kasus
6. Pengolahan teks / pengaksesan
beruntun 8

7. Larik (array)
Tipe-tipe data
•Tipe data dasar (tipe primitif)
•Integer (contoh : 10,100,-50)
•Real (contoh : 10.25, 3.9)
•Char (‘a’, ‘A’)
•Boolean (T/F)

•Tipe bentukan / tipe terstruktur (tipe lain yang dibentuk dari tipe data dasar)
•Array (variabel berindeks)
•Record (kumpulan field-field)
•File (jenis file external)
•Pointer (varibel dinamis)
•dll.

9
Variabel dan Konstanta
• Variabel adalah tempat menampung data, dimana data di
dalamnya cenderung mengalami perubahan akibat adanya
proses
• Contoh, int r; {dalam bahasa c++ }
• Konstanta sama seperti variabel, hanya data yang dikandung
cenderung tetap (tidak mengalami perubahan)
• Contoh, const float pi=3.14; {dalam bahasa c++}

10
Contoh-contoh permasalahan sederhana
1.Rumus-rumus penyelesaian bentuk bangun datar
(persegi, persegi panjang, segitiga, lingkaran,
travesium, dll.)
2.Menghitung nilai rata-rata
3.Seputar Input dan Ouput

11
Algoritma bentuk bangun datar (Persegi)
Program hitungluaspersegi
Deklarasi
• Berikut adalah sebuah persegi, maka untuk
sisi, luas : integer
menghitung luas persegi adalah menggunakan
rumus: sisi x sisi Sisi=5 Algoritma :
sisi←5
luas←sisi*sisi
write(luas)

• Bila dianalisa, yang terkait bentuk persegi


hanya ada 2, yakni : elemen sisi dan luas, maka
algoritmanya:

12
Algoritma (Persegi Panjang)
• Berikut adalah sebuah persegi panjang, maka Program hitungluaspp
untuk menghitung luas persegi panjang
Deklarasi
adalah menggunakan rumus: panjang x lebar panjang, lebar,luas : integer

Lebar=5 Algoritma :
panjang←10
Panjang=10 lebar←5
luas←panjang*lebar
write(luas)
• Bila dianalisa, yang terkait bentuk Persegi
Panjang, ada 3, yakni : elemen panjang dan
lebar dan luas, maka algoritmanya:

13
Algoritma (Segitiga)
Program menghitung_luas_segitiga
• Berikut adalah sebuah segitiga, maka
Deklarasi
untuk menghitung luas segitiga adalah alas,tinggi : integer
menggunakan rumus: (alas x tinggi)/2 luas : real
Tinggi=7
Algoritma :
alas←6
Alas =6 tinggi←7
luas←(alas*tinggi)/2
write(luas)
• Bila dianalisa, yang terkait bentuk
Segitiga, ada 3, yakni : elemen alas dan
tinggi dan luas, maka algoritmanya:

14
Algoritma (Menghitung nilai rata-rata)
Program menghitung_nilai_rata_rata
• Contoh : diketahui ada nilai Deklarasi
uts=80 dan nilai uas=90, bila uts,uas,jumlah : integer
ingin diketahui nilai rata- rata2 : real
Algoritma :
rata kedua nilai tersebut, uts←80
maka langkahnya adalah uas←90
menjumlahkan kedua nilai jumlah←uts+uas
rata2←jumlah/2
tersebut, kemudian jumlah write(rata2)
nilai dibagi 2

15
Algoritma (Input dan Output)
• Contoh : terdapat input Program contoh_input_output
Deklarasi
nilai uts dan input nilai uts,uas,jumlah : integer
hasil : real
uas, kemudian kedua Algoritma :
nilai input dijumlahkan, write(“Masukkan nilai uts :”)
read(uts)
dan hasil penjumlahan write(“Masukkan nilai uas :”)
kemudian dibagi 2, read(uas)
jumlah←uts+uas
maka algoritma sbb: hasil←jumlah/2
write(“Hasil nilai rata-rata =“,hasil)

16
Tipe dasar (integer)

• Tipe bilangan bulat (integer), seperti : 100,1000, -90, dst.


• Operasi Aritmatika (melibatkan operator : *, +, -, DIV, MOD )
• Contoh : 2*2, 5+2, 4 div 2, 5 mod 2
• Operasi Perbandingan (melibatkan operator : >, <, <=, >=, ><, = )
• Contoh : 3<8, 10<=10, 2>2

• Nama-nama tipe yang termasuk integer : byte (0..255), integer (-


32768..32767), longint (-2147483648.. 2147483647), dll.

17
Tipe dasar (real)
• Tipe bilangan pecahan (real), seperti : 10.25,3.5, dst.
• Operasi Aritmatika (melibatkan operator : *, +, -, / )
• Contoh : 2.2*2.5, 5.10+2.25, 4/2, 5-2
• Operasi Perbandingan (melibatkan operator : >, <, <=, >=, >< )
• Contoh : 3.0<3.2, 10><10, 2>=2

• Nama-nama tipe yang termasuk integer : real (2.9x10 -39


..1.7x1038), single,
double, extended.

18
Tipe dasar (logika/boolean)
• Tipe yang hanya memiliki nilai true atau false
• Operasi logika (melibatkan operator : not, and, or, xor)
• Contoh : A B A and B A or B A xor not A
B
True True True True False False
True False False True True False
False True False True True True
False false False false False True

19
Tipe datar (char)
• Tipe yang mengandung karakter ( huruf alfabet, tanda baca, angka “0”-”9”,
dan karakter khusus : “&”, “^”, “%” )
• Operasi perbandingan (melibatkan operator : =, ><, <, >, >=, <= )
• Contoh : ‘a’ >< ‘A’

20
Tipe bentukan (string dan record)
• Tipe string adalah array dari tipe char : x=“aku”
• Operasi penyambungan (concatenation, dengan simbol ‘+’)
• Operasi perbandingan (melibatkan operator : =, <, >, <=, >=, >< )

• Tipe rekaman (record) dibentuk oleh beberapa field


• Contoh :
• type titik : record <
• x :real, y : real >
• P : titik

21
Nilai Data
• Cara memberikan suatu nilai ke dalam suatu variabel dapat dilakukan
dengan 2 cara:
• 1. Penugasan (Assignment)
• Contoh : y←10

• 2. Masukkan (Input)
• Contoh : read(y)

22
Kesimpulan
1. Definisi algoritma, tujuan pembelajaran, tipe-nama-nilai
2. Operasi aritmatika, relasi, logika
3. Pemrograman dan bahasa program
4. Notasi algoritma (bahasa alami, diagram alir, pseudo-code
5. Struktur Dasar (runtunan, seleksi, perulangan)
6. Latihan algoritma runtunan
7. Latihan tipe dasar dan tipe bentukan

23
Link Video Pembelajaran (Delphi7, Javascript, C++, Python)
• tutorial delphi7 :
• https://www.youtube.com/watch?v=JuGULgGmOVg

• tutorial javascript :
• https://www.youtube.com/watch?v=pWOCO4uXOtY&t=83s

• tutorial pemrograman c++ :


• https://www.youtube.com/watch?v=cbiCqGKTw6U

• tutorial pemrograman python : 24

• https://www.youtube.com/watch?v=EzXFWpibjTM

Anda mungkin juga menyukai