PERTEMUAN I
description
Transcript of PERTEMUAN I
PERTEMUAN IPERTEMUAN I
ALGORITMA dan PEMROGRAMAN
ALGORITMADiperkenalkan Oleh Ahli Matematika : Abu Ja’farMuhammad Ibnu Musa Al Khawarizmi.
Definisi Algoritma1. Langkah- langkah yg dilakukan agar solusi
masalah dapat diperoleh. 2. Suatu prosedur yg merupakan urutan
langkah-langkah yg berintegrasi.3. Suatu metode khusus yg digunakan untuk
menyelesaikan suatu masalah yg nyata.(Webster Dictionary)
Masalah
Model
Algoritma
Program
Eksekusi
Hasil
Data
Analisis
Analisis
Analisis
1. Ada Output, 2. Efektifitas dan Efesiensi, 3. Jumlah Langkahnya Berhingga, 4. Berakhir, ( SEMI ALGORITMA )5. Terstruktur,
Suatu Algoritma yg terbaik (The Best) : “ Suatu 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
kepadateman:1. Tulis surat pada secarik kertas surat2. Ambil sampul surat atau amplop3. Masukkan surat ke dalam amplop4. Tutup amplop surat dengan lem perekat5. 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 surat7. 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 02. Hitung Nilai C yg berisikan Nilai B dikalikan
Nilai B3. 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 15. 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 Alas3. Masukan Nilai Tinggi4. Hitung Luas =( Alas * Tinggi ) / 25. Cetak Luas Segi TIga
Dengan Statement program / penggalan
Program
Contoh :1. Read Alas2. Read Tinggi3. Luas=(Alas * Tinggi)/24. Write(Luas)
3. Bagaimana validitas suatu algoritma.4. Bagaimana Menganalisa suatu Algoritma.5. Bagaimana Menguji Program dari suatu
Algoritma.
Tahap Proses uji Algoritma :1. Fase Debugging, 2. Fase Profilling,
Analisis Suatu Algoritma (Untuk melihat faktor efesiensi & efektifitas dari
algoritma tersebut), Dapat dilakukan terhadap suatu algoritma
denganmelihat 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 Bahasa sehari-hari / Pseudocode )
1. Buat langkah untuk melakukan penggantian ban mobil yang pecah ( tanpa ada masalah / Syarat ) :
2. Dari Soal diatas dikembangkan kembali ,mis : bila ban serep kempes atau ban serep bocor :
3. Buat langkah yang dilakukan dalam kegiatan sehari-hari :
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
datanyaterbentuk 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 Format
Short int -128 ... 127 Signed 8 bit
Integer - 32768 ... 32767 Signed 16 bit
Long Int - 2147483678 ... 2147283647 Signed 32 bit
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.00c. 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 = string [panjang] ; pengenal = nama tipe datapanjang = bilangan bulat yg menunjukan
jumlah karakter
Contoh : tipe Kata = string [50]var Nama1,Nama2 : Kata;
A. OPERASI STRING
1. Prosedur StandardDelete – Menghapus sejumlah chr Insert – Menyisipkan suatu stringStr – Merubah Nilai NumerikVal – 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 keywordsigned atau unsigned sebelum tipe data, contoh :
unsigned short NumberOfSons;signed int MyAccountBalance;