Transcript Pertemuan I

PERTEMUAN I
ALGORITMA dan
PEMROGRAMAN
ALGORITMA
Diperkenalkan Oleh Ahli Matematika : Abu Ja’far
Muhammad Ibnu Musa Al Khawarizmi.
Definisi Algoritma
1. Langkah- langkah yg dilakukan agar solusi
masalah dapat diperoleh.
2. Suatu prosedur yg merupakan urutan langkahlangkah yg berintegrasi.
3. Suatu metode khusus yg digunakan untuk
menyelesaikan
suatu
masalah
yg
nyata.(Webster Dictionary)
Masalah
Analisis
Model
Algoritma
Analisis
Analisis
Program
Eksekusi
Data
Hasil
5.
Ada Output,
Efektifitas dan Efesiensi,
Jumlah Langkahnya Berhingga,
Berakhir,  ( SEMI ALGORITMA )
Terstruktur,

Suatu Algoritma yg terbaik (The Best) : “ Suatu
1.
2.
3.
4.
algoritma harus menghasilkan output yg tepat
guna (efektif) dlm waktu yg relatif singkat &
penggunaan memori yg relatif sedikit (efesien)
dgn langkah yg berhingga & prosedurnya berakhir
baik dlm keadaan dip’oleh suatu solusi ataupun
tdk ada solusinya. “
Contoh :
Sebuah prosedur ketika akan mengirimkan surat
kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih
dahulu ambil buku alamat & cari alamat yg dituju,
lalu tulis alamat tsb pd amplop surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd
pegawai pos atau menuju ke bis surat untuk
memasukkan surat ke dlm kotak/bis surat.
Sebuah prosedur untuk masalah menentukan
akar kuadrat dari suatu bilangan Bulat Positif
yg di Input :
Baca bilangan Bulat Positif yg diinput, sebut
saja sebagai A
1. Dinyatakan Nilai B adalah 0
2. Hitung Nilai C yg berisikan Nilai B dikalikan
Nilai B
3. Jika Nilai C sama dengan Nilai A, maka Nilai B
adalah Akar dari Nilai A, lalu stop.
4. Jika tidak, maka Nilai B akan bertambah 1
5. Kembali ke langkah pada No. 3
TAHAPAN ANALISA ALGORITMA
1. Bagaimana merencanakan suatu algoritma.
2. Bagaimana menyatakan suatu algoritma
Dengan bahasa semu (pseudocode),
Contoh :
1.
Untuk menghitung Luas Segi tiga :
2.
Masukan Nilai Alas
3.
Masukan Nilai Tinggi
4.
Hitung Luas =( Alas * Tinggi ) / 2
5.
Cetak Luas Segi TIga
Dengan Statement program /
penggalan
Program
Contoh :
1.
Read Alas
2.
Read Tinggi
3.
Luas=(Alas * Tinggi)/2
4.
Write(Luas)
3.
4.
5.
Bagaimana validitas suatu algoritma.
Bagaimana Menganalisa suatu Algoritma.
Bagaimana Menguji Program dari suatu
Algoritma.
Tahap Proses uji Algoritma :
1.
2.
Fase Debugging,
Fase Profilling,
Analisis Suatu Algoritma
(Untuk melihat faktor efesiensi & efektifitas dari
algoritma
tersebut), Dapat dilakukan terhadap suatu algoritma
dengan
melihat pada :

Waktu Tempuh (Running Time) dr suatu Algortima.
Hal2 yg dpt mempengaruhi drpd waktu tempuh
adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator

Jumlah Memori Yang Digunakan.
Sifat - Sifat Algoritma






Banyaknya
Langkah
Instruksi
Harus
Berhingga,
Langkah atau Instruksi harus Jelas,
Proses harus Jelas dan mempunyai batasan,
Input dan Output harus mempunyai
Batasan,
Efektifitas,
Adanya Batasan Ruang Lingkup,
Latihan : (Gunakan
Pseudocode )
1.
2.
3.
Bahasa
sehari-hari
/
Buat
langkah
untuk
melakukan
penggantian ban mobil yang pecah ( tanpa
ada masalah / Syarat ) :
Dari Soal diatas dikembangkan kembali
,mis : bila ban serep kempes atau ban
serep bocor :
Buat langkah yang
kegiatan sehari-hari :
dilakukan
dalam
KONSEP TIPE DATA
Pembagian tipe data :
1. Tipe Sederhana (simple type)
 Tipe Ordinal (ordinal type)
 Integer,Boolean,Character
 Tipe Real
2. Tipe String
 Operasi string
3. Tipe Terstruktur (structured type)
 Array, Record, Set, File
Tipe Sederhana = tipe data skalar, bahwa dalam sebuah
Peubah menyimpan sebuah data yg nilainya suatu urutan
tertentu.
a. Tipe Ordinal, sbh subset tipe sederhana yg datanya
terbentuk menurut urutan tertentu.
Karakteristik dari tipe ordinal adalah :




Mrpk himp. Berurutan (ordered set).
Fungsi standard ORD/Ordinalitas.
Fungsi standard PRED/Predecessor.
Fungsi standard SUCC/Successor.
Tipe Integer, tipe data yg nilainya tdk memiliki titik desimal.
Ada 5 tipe data yg tmsk klpk ini : integer, shor int, long int,
byte & word.
Type
Batas nilai
Short int
-128 ... 127
Signed 8 bit
- 32768 ... 32767
Signed 16 bit
- 2147483678 ... 2147283647
Signed 32 bit
Integer
Long Int
Format
Byte
0 ... 255
Unsigned 8 bit
Word
0 ... 65535
unsigned 16 bit
OPERATOR
ARTI
DIV
Pembagian
MOD
Sisa bagi
^
Pemangkatan
*
/
Perkalian,
Pembagian
+
-
Penjumlahan,
Pengurangan
b. Tipe Real, = bil. yg berisikan titik desimal.
Contoh : 1.5 atau 75.00
c. Tipe Boolean, nilai pngambilan suatu keputusan pd prg,
tipe ini mempunyai 2 nilai yaitu benar & salah. Operator
yg digunakan AND, OR atau NOT.
Iinput
NOT
AND
OR
A B C A B C A.B.C A+B+
C
0 0 0 1 1 1
0
0
0 0 1 1 1 0
0
1
0 1 0 1 0 1
0
1
0 1 1 1 0 0
0
1
1 0 0 0 1 1
0
1
1 0 1 0 1 0
0
1
1 1 0 0 0 1
0
1
1 1 1 0 0 0
1
1
d.
Tipe
Char,
mendefinisikan data yg merupakan
himpunan karakter (tabel ASCII). Data ditulis diantara
petik,
mis.‘F’‘A’
‘15’,&‘AMIK
BINA
SARANA
INFORMATIKA’ = string.
4 fungsi yg t’definisik’ manipulasi data char, yaitu :
1. ORDINAL, nilai ord(kar) - Cth.ord (‘A’) adalah 65
2. chr(I), - Cthn : chr (65) adalah ‘A’.
3. Pendahulu, Pred (kar) - Contoh:Pred(‘B’) = ‘A’.
4. Penerus, Succ(kar) - Contoh : succ (‘B’) = ‘C’
Tipe String = data berisi sederetan Char. yg banyaknya
berubah2 sesuai kebutuhan, yg besarnya 1 s/d 255
karakter.
Bentuk umum penulisan tipe data ini adalah :
Type pengenal
pengenal
panjang
Contoh :
= string [panjang] ;
= nama tipe data
= bilangan bulat yg menunjukan
jumlah karakter
tipe Kata = string [50]
var Nama1,Nama2 : Kata;
A.
OPERASI STRING
1.
Prosedur Standard
Delete – Menghapus sejumlah chr
Insert – Menyisipkan suatu string
Str – Merubah Nilai Numerik
Val – Meng-konversi suatu Nilai String
2.
Fungsi Standar
Copy
Copy(s:string;index:integer;count:integer):string;
ConCat
ConCat(s1[,s2,s3….sn]:string):string;
Pos
Pos(substr:sting;s:string):byte;
Length
Length(s:string):integer;
3. Tipe Terstuktur, setiap peubah dpt menyimpan lebih dr sbh data yg
masing2 data disebut komponen.
a. Tipe Larik (array)
b. Tipe Record
c. Tipe Set/Himpunan
d. Tipe File/berkas
e. Tipe Pointer
f. Tipe Terbilang/enumerated,
Contoh : type TOKO =(baru,ramai,sukses,rapi);
typeHARI=(minggu,senin,selasa,rabu,kamis,jum’at,
sabtu,minggu)
typeBULAN=(jan,feb,mar,apr,mei,jun,jul,ags,sep,okt,nop,des)



Untuk menggunakan variabel pada C++, kita harus
mendeklarasikan tipe data yang akan digunakan. Sintaks
penulisan deklarasi variabel adalah dengan menuliskan tipe
data yang akan digunakan diikuti dengan identifier yang
benar,
contoh :
int a;
float mynumber;
Jika akan menggunakan tipe data yang sama untuk beberapa
identifier maka dapat dituliskan dengan menggunakan tanda
koma,
contoh :
int a, b, c;
Tipe data integer (char, short, long dan int) dapat berupa
signed atau unsigned tergantung dari kisaran nilai yang akan
direpresentasikan. Dilakukan dengan menyertakan keyword
signed atau unsigned sebelum tipe data, contoh :
unsigned short NumberOfSons;
signed int MyAccountBalance;