algoritma pemrograman i -...
TRANSCRIPT
Konsep Dasar Algoritma
Ika Menarianti
Algoritma Pemrograman I
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 1
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 2
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 3
Apakah Pemrograman itu? Algoritma baru efektif jika dijalankan oleh sebuah pemroses
(processor)
Menurut Les Goldschlager, suatu pemroses harus:
1. Mengerti setiap langkah dalam algoritma
2. 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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 4
Langkah-langkah pemrograman
1. Mendefinisikan masalah
2. Menentukan solusi
3. Memilih algoritma
4. Menulis program
5. Menguji program
6. Menulis dokumentasi
7. Merawat program
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 5
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 6
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 7
Contoh algoritma matematika 1 Menghitung luas lingkaran:
𝐿 = 𝜋𝑟2
1. Masukkan R
2. Pi 3.14
3. L Pi * R * R
4. Tulis L
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 8
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 𝑥
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 9
Contoh algoritma matematika 3 Menghitung rata-rata:
𝑥 = 𝑥𝑖𝑁𝑖<1
𝑁
1. Masukkan N
2. 𝑖 1
3. 𝑗 0
4. Selama (𝑖<=N) kerjakan baris 4 sampai dengan 7
5. Masukkan 𝑑𝑡 6. 𝑖 𝑖 + 1
7. 𝑗 𝑗 + 𝑑𝑡
8. Rata-rata 𝑗/N
9. Tulis rata-rata
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 10
Catatan Akhir..
Algoritma sebenarnya digunakan untuk membantu kita dalam
mengonversikan suatu permasalahan ke dalam bahasa komputer.
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 11
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.
𝑐 = 𝑎2 + 𝑏2
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 12
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.
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 13
Macam-macam Tipe Data
1. Tipe Sederhana
a) Tipe Ordinal
Tipe Bilangan Bulat
Tipe Boolean
Tipe Karakter
Tipe Terbilang
Tipe Subjangkauan
b) Tipe Real
2. Tipe String
3. Tipe Terstruktur
4. Tipe pointer
5. Tipe Prosedural
6. Tipe Objek
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 14
Tipe Bilangan Bulat
Digunakan untuk menyimpan bilangan bulat.
Contoh:
Mendeklarasikan dua variabel bertipe integer yaitu x dan y
var
x, y : integer;
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 15
Tipe Boolean
Tipe yang hanya dapat bernilai benar atau salah.
Yang paling sering digunakan adalah tipe boolean.
Mendeklarasikan variabel bertipe boolean
var
b1: boolean;
Ada dua macam nilai yang diberikan
b1:= true;
b1:= false;
Tipe Data Ukuran
Boolean
ByteBool
WordBool
LongBool
1 Byte
1 Byte
2 Byte
4 Byte
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 16
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);
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 17
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;
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 18
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;
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 19
Tipe Real Digunakan untuk menyimpan bilangan real
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;
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 20
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’;
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 21
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;
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 22
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’]
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 23
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 24
Operator Pemberian Nilai
Pemberian nilai dilakukan dengan menggunakan tanda :=
Contoh:
A := 12 ; (untuk tipe bilangan bulat)
B := „Halo‟ ; (untuk tipe string)
C := 3.14; ( untuk tipe real)
D := [3, 4, 5]; (untuk tipe himpunan)
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 25
Operator Aritmetik
Dapat dikenakan pada operan bertipe bilangan bulat atau real
1. Operator aritmetik tunggal
2. Operator aritmetik biner
Operator Operasi Tipe Operan Tipe hasil
+ Identitas Bilangan bulat
Bilangan real
Bilangan bulat
Bilangan real
- Invers Bilangan bulat
Bilangan real
Bilangan bulat
Bilangan real
Operator Operasi
+ Penjumalahan
- Pengurangan
* Perkalian
/ Pembagian
div Pembagian bilangan bulat
mod Sisa pembagian modulus
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 26
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; 08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 27
Operator Pemanipulasi Bit
Berhubungan dengan pemanipulasian bit pada operan, misalnya
menggeser bit ke kanan, memutar bit kekiri, dll.
Operator and, or dan xor mengevaluasi bit pada operannya. Hasilnya:
Operator Operasi
not
and
or
xor
shl
shr
Invers
Logika and
Logika or
Logika xor
Penggeseran bit ke kiri
Penggeseran bit ke kanan
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 28
Operator Boolean
Dikenakan pada tipe operan bernilai boolean
Hasil operator not, and, or dan xor untuk berbagai kombinasi kondisi
Operator Operasi
not
and
or
xor
Negasi
Logika and
Logika or
Logika xor
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 29
Operator Pembanding Digunakan untuk membandingkan dua buah operan
Hasil dari operator bernilai benar atau salah
Contoh:
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)
Operator Operasi
=
<>
<
>
<=
>=
Sama dengan
Tidak sama dengan
Kurang dari
Lebih dari
Kurang dari sama dengan
Lebih dari sama dengan
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 30
Operator Himpunan Digunakan pada tipe himpunan
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‟],
Operator Operasi
+
-
*
In
Union
Selisih
Interseksi
Anggota dari
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 31
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
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 32
Soal..
1. Jika x=integer, mana nilai yang bisa diberikan ke x?
a. $a
b. 10.1
c. 4000
d. Alpro
2. Jika y=real, mana nilai yang bisa diberikan ke y?
a. .3
b. 1E2
c. 3E+4.2
d. 3,14
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 33
3. Ubah bentuk ekspresi matematika ke dalam bahasa
program
a. 𝐸 = 𝑚. 𝑐2
b. 𝐿 = 1
4. 𝜋. 𝑑2
c. 𝑐 = 𝑎2 + 𝑏2
d. 𝐿 =1
2 𝑎. 𝑏 sin 𝜃
e. 𝑆 = 𝑣. 𝑡 +1
2𝑎. 𝑡2
f. 𝑥 =;𝑏: 𝑏2;4.𝑎.𝑐
2.𝑎
08/03/2014 Konsep Dasar Algoritma -- Ika Menarianti, M.Kom 34