Anda di halaman 1dari 24

Algoritma dan

Pemrograman
3 sks
Pertemuan ke-1

Program Studi Teknik Informatika


STMIK Mardira Indonesia
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
Contoh penerapan write(luas)

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)
• Berikut adalah sebuah persegi, maka untuk
menghitung luas persegi adalah Program hitungluaspersegi
menggunakan rumus: sisi x sisi
Deklarasi
sisi, luas : integer
Sisi=5
Algoritma :
sisi←5
• Bila dianalisa, yang terkait bentuk persegi luas←sisi*sisi
write(luas)
hanya ada 2, yakni : elemen sisi dan luas,
maka algoritmanya:

12
Algoritma (Persegi Panjang)
• Berikut adalah sebuah persegi panjang, maka
untuk menghitung luas persegi panjang Program hitungluaspp
adalah menggunakan rumus: panjang x lebar
Deklarasi
panjang, lebar,luas : integer
Lebar=5 Algoritma :
Panjang=10 panjang←10
lebar←5
• Bila dianalisa, yang terkait bentuk Persegi luas←panjang*lebar
Panjang, ada 3, yakni : elemen panjang dan write(luas)
lebar dan luas, maka algoritmanya:

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

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

15
Algoritma (Input dan Output)
• Contoh : terdapat input Program contoh_input_output
Deklarasi
nilai uts dan input nilai uts,uas,jumlah : integer
uas, kemudian kedua hasil : real
nilai input dijumlahkan, Algoritma :
write(“Masukkan nilai uts :”)
dan hasil penjumlahan read(uts)
kemudian dibagi 2, maka write(“Masukkan nilai uas :”)
algoritma sbb: read(uas)
jumlah←uts+uas
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 :


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

Anda mungkin juga menyukai