ALGORITMA dan PEMROGRAMAN PERTEMUAN I ALGORITMA dan PEMROGRAMAN
PENGERTIAN DASAR 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 langkah- langkah yg berintegrasi. 3. Suatu metode khusus yg digunakan untuk menyelesaikan suatu masalah yg nyata.(Webster Dictionary)
TAHAP PENYELESAIAN MASALAH Model Algoritma Program Eksekusi Hasil Data Analisis
Kriteria Pemilihan Algoritma. Ada Output, Efektifitas dan Efesiensi, Jumlah Langkahnya Berhingga, Berakhir, ( SEMI ALGORITMA ) 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 kepada teman: Tulis surat pada secarik kertas surat Ambil sampul surat atau amplop Masukkan surat ke dalam amplop Tutup amplop surat dengan lem perekat Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat. Tempelkan perangko pada amplop surat Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.
Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A 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 Dinyatakan Nilai B adalah 0 Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop. Jika tidak, maka Nilai B akan bertambah 1 Kembali ke langkah pada No. 3
TAHAPAN ANALISA ALGORITMA Bagaimana merencanakan suatu algoritma. Bagaimana menyatakan suatu algoritma Dengan bahasa semu (pseudocode), Contoh : Untuk menghitung Luas Segi tiga : Masukan Nilai Alas Masukan Nilai Tinggi Hitung Luas =( Alas * Tinggi ) / 2 Cetak Luas Segi TIga
Dengan Statement program / penggalan Contoh : Read Alas Read Tinggi Luas=(Alas * Tinggi)/2 Write(Luas)
Tahap Proses uji Algoritma : Bagaimana validitas suatu algoritma. Bagaimana Menganalisa suatu Algoritma. Bagaimana Menguji Program dari suatu Algoritma. Tahap Proses uji Algoritma : 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 : Banyaknya langkah. Besar dan jenis input data. Jenis Operasi. 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 ) 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 dilakukan dalam kegiatan sehari-hari :
KONSEP TIPE DATA
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 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.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 1
4 fungsi yg t’definisik’ manipulasi data char, yaitu : 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 : ORDINAL, nilai ord(kar) - Cth.ord (‘A’) adalah 65 chr(I), - Cthn : chr (65) adalah ‘A’. Pendahulu, Pred (kar) - Contoh:Pred(‘B’) = ‘A’. Penerus, Succ(kar) - Contoh : succ (‘B’) = ‘C’
Tipe String = data berisi sederetan Char 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 data panjang = bilangan bulat yg menunjukan jumlah karakter Contoh : tipe Kata = string [50] var Nama1,Nama2 : Kata;
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. Tipe Larik (array) Tipe Record Tipe Set/Himpunan Tipe File/berkas Tipe Pointer 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)
Mendeklarasi Variabel 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;