Algoritma Pemrograman I Konsep Dasar Algoritma Ika Menarianti
1
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Apakah Algoritma itu? Masalah adalah pertanyaan atau tugas yang kita cari jawabannya. Untuk masalah yang kecil, dapat ditemukan solusi dengan mudah
dan cepat. Jika masalah berukuran besar? Perlu dilakukan langkah-langkah pengurutan untuk menghasilkan solusi. Prosedur yang berisi langkah-langkah penyelesaian masalah disebut algoritma
2
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Pengertian Algoritma Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah Definisi lain algoritma menurut: 1. Anany Levitin, algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas. 2. Thomas H. Cormen, algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. 3. Microsoft Bookshelf, algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika 3
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Apakah Pemrograman itu? Algoritma baru efektif jika dijalankan oleh sebuah pemroses
(processor) Menurut Les Goldschlager, suatu pemroses harus: 1. 2.
Mengerti setiap langkah dalam algoritma Mengerjakan operasi yang bersesuaian dengan langkah tersebut
Algoritma yang ditulis dalam bahasa komputer dinamakan program Bahasa komputer yang digunakan dalam menulis program disebut
bahasa pemrograman Orang yang membuat program komputer dinamakan pemrogram (programmer) Kegiatan merancang dan menulis program disebut pemrograman 4
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Langkah-langkah pemrograman 1. Mendefinisikan masalah 2. Menentukan solusi 3. Memilih algoritma 4. Menulis program
5. Menguji program 6. Menulis dokumentasi 7. Merawat program
5
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Contoh algoritma sederhana 1 Menulis Surat: 1. Mempersiapkan kertas dan amplop 2. Mempersiapkan alat tulis 3. Mulai menulis 4. Memasukkan kertas ke dalam amplop 5. Pergi ke kantor pos untuk mengirimkan surat
6
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Contoh algoritma sederhana 2 Pengerjaan dalam praktikum: 1. Siapakan tabung reaksi ukuran 100cc 2. Teteskan 50 cc larutan H2SO4 ke dalam tabung 3. Campurkan 20 cc larutan NaOH kedalam tabung, aduk hingga tercampur rata Pengisian pulsa: 1. Tekan #888 lalu tekan Yes 2. Tekan “2” untuk memulai memasukkan pulsa 3. Masukkan 14 digit kartu prabayar 4. Tekan tombol Yes 7
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Contoh algoritma matematika 1 Menghitung luas lingkaran:
𝐿 = 𝜋𝑟 2
1. Masukkan R 2. Pi 3.14 3. L Pi * R * R 4. Tulis L
8
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Contoh algoritma matematika 2 Menuliskan nilai absolut:
𝑥 = 𝑥 𝑗𝑖𝑘𝑎 𝑥 ≥ 0 𝑥 = 𝑥 𝑗𝑖𝑘𝑎 𝑥 < 0
1. Masukkan x 2. Jika (𝑥 < 0) maka kerjakan baris 3, jika tidak kerjakan
baris 4 3. 𝑥 - 𝑥 4. Tulis 𝑥
9
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Contoh algoritma matematika 3 Menghitung rata-rata:
𝑥= 1. 2. 3. 4. 5. 6. 7. 8. 9. 10
𝑁 𝑖<1 𝑥𝑖
𝑁
Masukkan N 𝑖1 𝑗0 Selama (𝑖<=N) kerjakan baris 4 sampai dengan 7 Masukkan 𝑑𝑡 𝑖𝑖+1 𝑗 𝑗 + 𝑑𝑡 Rata-rata 𝑗/N Tulis rata-rata
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Catatan Akhir.. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengonversikan suatu permasalahan ke dalam bahasa komputer.
11
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Soal... 1. Tulislah algoritma untuk mencari luas segitiga jika
masukan dari pengguna adalah alas dan tingginya. 1 𝐿 = . 𝑎. 𝑡 2
2. Tulislah algoritma untuk mencari sisi miring dari segitiga
siku-siku jika panjang dua sisi membentuk sudut siku-siku. 𝑐=
12
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
𝑎2 + 𝑏 2
08/03/2014
Tipe Data Variabel adalah tempat dimana mengisi atau mengosongkan nilai dan
memanggil kembali. Setiap variabel memiliki nama (identifier) dan nilai. Misal: Username = “Ryan”; Password =“123456”; Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Misal: pi = “3.14”;
Tipe data adalah jenis data yang dapat diolah komputer untuk memenuhi
kebutuhan dalam pemrograman. Setiap variabel atau konstanta dalam kode program, tentukan dengan pasti tipe datanya. 13
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Macam-macam Tipe Data 1. Tipe Sederhana a) Tipe Ordinal
2. Tipe String 3. Tipe Terstruktur
Tipe Bilangan Bulat
4. Tipe pointer
Tipe Boolean
5. Tipe Prosedural
Tipe Karakter
6. Tipe Objek
Tipe Terbilang Tipe Subjangkauan b) Tipe Real
14
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Bilangan Bulat Digunakan untuk menyimpan bilangan bulat. Tipe
Range
Ukuran
Shortint Integer Longint Byte Word
128...127 -32768..32767 -2147483648..2147483647 0..255 0..65535
8 bit 16 bit 32 bit 8 bit 16 bit
Contoh: Mendeklarasikan dua variabel bertipe integer yaitu x dan y var x, y : integer; 15
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Boolean Tipe yang hanya dapat bernilai benar atau salah. Tipe Data
Ukuran
Boolean ByteBool WordBool LongBool
1 Byte 1 Byte 2 Byte 4 Byte
Yang paling sering digunakan adalah tipe boolean. Mendeklarasikan variabel bertipe boolean
var b1: boolean; Ada dua macam nilai yang diberikan b1:= true; b1:= false; 16
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Karakter Digunakan untuk menyimpan data alfanumeris
Tipe karakter dideklarasikan dengan kata kunci char
var ch: char; Cara memberi nilai pada variabel bertipe karakter: Menuliskan karakter didalam tanda petik ch := „A‟; Menuliskan tanda # diikuti dengan nomor ASCII ch := #65; Mengonversikan nomor ASCII ke karakter menggunakan fungsi chr ch := chr(65); 17
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Subjangkauan Mendeklarasikan tipe yang berada pada jangkauan tertentu Pendeklarasian dilakukan dengan menuliskan batas bawah dan
batas atas jangkauannya. type Bulan = 1 . . . 12; Mendeklarasikan tipe Bulan yang memiliki jangkauan 1 sampai 12, maka variabel bertipe Bulan, seperti: var januari : Bulan; Tidak bisa memberikan nilai kurang dari 1 atau lebih dari 12 Januari := 1; 18
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Terbilang Memberi nama pada nilai tertentu. Contoh:
type TipeHari = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu); Dengan pendeklarasian TipeHari, tidak perlu menggunakan angka 0 sampai 6 untuk menjelaskan hari. Dapat menuliskan variabel Hari yang bertipe TipeHari var Hari : TipeHari;
19
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Real Digunakan untuk menyimpan bilangan real Tipe Data
Range
Ukuran
Real Single Double Extended Comp
2.9*10;39 .. 1.7*1038 1.5*10;45 .. 3.4*1038 5.0*10;324 .. 1.7*10308 3.4*10;4932 .. 1.1*104932 −263 +1 .. 263 -1
6 byte 4 byte 8 byte 10 byte 8 byte
Mendeklarasikan dua variabel bertipe real, yaitu x dan y, serta
satu variabel bertipe double yaitu z var x, y : real; z : double; Cara pemberian nilai: Menuliskan nilai dengan tanda titik eksponen x := 123.45; Menuliskan nilai dengan eksponen x := 1.2345E+2; 20
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe String Digunakan untuk
menyimpan data yang berupa untaian
karakter Mendeklarasikan digunakan kata string var kalimat : string; Pemberian nilai pada string dilakukan dengan meletakkan untaian karakter diantara tanda petik tunggal kalimat := ‘Algoritma Pemrograman’;
21
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Larik Mendeklarasikan kumpulan variabel yang bertipe sama Bentuk umum:
var nama_larik: array [batas_bawah .. batas_atas] of tipe_larik; Membuat delapan variabel bertipe Longint. Tanpa menggunakan larik, mendeklarasikan variabel dengan cara: var a1, a2, a3, a4, a5, a6, a7, a8 : longint; Dengan larik sederhanakan deklarasi kedelapan variabel menjadi var a: array [1 .. 8] of longint; 22
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Tipe Himpunan Digunakan untuk menyimpan kumpulan nilai yang bertipe sama. Contoh:
type HimpunanKarakter = set of char; Mendeklarasikan tipe HimpunanKarakter sebagai himpunan dari karakter. Contoh variabel yang dideklarasikan; var Vokal : HimpunanKarakter Huruf : HimpunanKarakter Pemberian nilai pada tipe himpunana dilakukan dengan menuliskan anggota himpunan dalam kurung siku ([dan ]) Vokal : = [‘A’, ‘I’, ‘U’, ‘E’, ‘O’] Huruf := [‘A’ .. ‘Z’] 23
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Macam-macam Operator 1. Operator pemberian nilai 2. Operator aritmetik 3. Operator pemanipulasi bit
4. Operator boolean 5. Operator pembanding 6. Operator himpunan
7. Operator string
24
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Operator Pemberian Nilai Pemberian nilai dilakukan dengan menggunakan tanda := Contoh:
A := 12 ; B := „Halo‟ ; C := 3.14; D := [3, 4, 5];
25
(untuk tipe bilangan bulat) (untuk tipe string) ( untuk tipe real) (untuk tipe himpunan)
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Operator Aritmetik Dapat dikenakan pada operan bertipe bilangan bulat atau real 1. Operator aritmetik tunggal Operator
Operasi
Tipe hasil
+
Identitas
Bilangan bulat Bilangan real
Bilangan bulat Bilangan real
-
Invers
Bilangan bulat Bilangan real
Bilangan bulat Bilangan real
2. Operator aritmetik biner
26
Tipe Operan
Operator
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
Operasi
+
Penjumalahan
-
Pengurangan
*
Perkalian
/
Pembagian
div
Pembagian bilangan bulat
mod
Sisa pembagian modulus 08/03/2014
Operator Aritmetik lanj. Contoh pegunaan Operator Aritmetik Tunggal
x := -y ; yang artinya nilai x sama dengan invers dari nilai y. x := +y; yang sama artinya dengan x := y Contoh penggunaan Operator Aritmetik Biner: x := y + z; x := a – b – c – d; x := 5 * 9 * 3.14; x := a / b ; x := 10 div 2; x := i mod j; 27
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Operator Pemanipulasi Bit Berhubungan dengan pemanipulasian bit pada operan, misalnya
menggeser bit ke kanan, memutar bit kekiri, dll. Operator not and or xor shl shr
Operasi Invers Logika and Logika or Logika xor Penggeseran bit ke kiri Penggeseran bit ke kanan
Operator and, or dan xor mengevaluasi bit pada operannya. Hasilnya:
28
A
B
not A
not B
A and B
A or B
A xor B
0 0 1 1
0 1 0 1
1 1 0 0
1 0 1 0
0 0 0 1
0 1 1 1
0 1 1 0
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Operator Boolean Dikenakan pada tipe operan bernilai boolean Operator not and or xor
Operasi Negasi Logika and Logika or Logika xor
Hasil operator not, and, or dan xor untuk berbagai kombinasi kondisi
29
A
B
not A
not B
A and B
A or B
A xor B
false false true true
false true false true
true true false false
True false true false
false false false true
false true true true
false true true false
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Operator Pembanding Digunakan untuk membandingkan dua buah operan Hasil dari operator bernilai benar atau salah Operator Operasi
Contoh:
= <> < > <= >=
Sama dengan Tidak sama dengan Kurang dari Lebih dari Kurang dari sama dengan Lebih dari sama dengan
a:= 5 = 6; ( a = false karena 5 tidak sama dengan 6) a:= 5 <>6; ( a= true) a:= 5 < 6; ( a= true) a:= (3<4) and (5 > 6); (a=false karena 5 < 6) 30
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Operator Himpunan Digunakan pada tipe himpunan Operator + * In
Operasi Union Selisih Interseksi Anggota dari
Contoh:
A := B + C; menggabungkan semua anggota himpunan B dan C ke dalam A. Jika A, B dan C bertipe set of char dan nilai A dan b masing-masing adalah [„A‟], [„B‟] dan [„C‟], maka variabel C bernilai [„A‟, „B‟, „C‟], 31
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Operator String Hanya mengenal satu macam operator string yaitu penggabungan Digunakan untuk menggabungkan dua atau lebih operan string
menjadi sebuah string yang lebih panjang Simbolnya adalah ( + ) Contoh: S:= „Turbo‟ + „Pascal‟; Sama artinya dengan Turbo Pascal
32
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
Soal.. 1. Jika x=integer, mana nilai yang bisa diberikan ke x?
$a b. 10.1 c. 4000 d. Alpro a.
2. Jika y=real, mana nilai yang bisa diberikan ke y?
.3 b. 1E2 c. 3E+4.2 d. 3,14 a.
33
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014
3. Ubah bentuk ekspresi matematika ke dalam bahasa
program a.
𝐸 = 𝑚. 𝑐 2
b. 𝐿 = c.
𝑐=
d. 𝐿 =
34
e.
𝑆=
f.
𝑥=
1 . 𝜋. 𝑑 2 4 𝑎2 + 𝑏 2
1 2
𝑎. 𝑏 sin 𝜃
1 𝑣. 𝑡 + 𝑎. 𝑡 2 2 ;𝑏: 𝑏2 ;4.𝑎.𝑐 2.𝑎
Konsep Dasar Algoritma -- Ika Menarianti, M.Kom
08/03/2014