PERTEMUAN 2 PENGERTIAN DASAR LOGIKA DAN ALGORITMA
PENGERTIAN DASAR LOGIKA DAN 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) 4.Urutan langkah atau kegiatan untuk memecahkan masalah
TAHAP PENYELESAIAN MASALAH Masalah Model Algoritma Program Eksekusi Hasil Data Analisis
Kriteria Pemilihan Algoritma. 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. “
1.Proses Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses 2.Instruksi Algoritma disusun oleh sederetan langkah instruksi yang logis 3.Aksi Tiap langkah instruksi tersebut mengerjakan suatu tindakan (aksi) Dasar – dasar Algoritma :
Sebuah prosedur untuk masalah Menukarkan nilai A dan nilai B : Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A dan B, Dalam mempertukarkan dua buah nilai perlu digunakan sebuah penampung (misal C) 1. Simpan nilai A ditempat penampungan, C 2. Isi A dengan nilai B 3. Isi B dengan nilai A yang disimpan di C
5 AC 8 B A 5 C 8 B C A 8 A 5 CB A B 8 AC 5 B B C Proses Pertukaran Nilai A dan Nilai B
ATURAN PENULISAN TEKS ALGORITMA 1.KEPALA ALGORITMA Kepala algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. 2. DEKLARASI bagian untuk mendefinisikan semua nama yang dipakai didalam algoritma. 3. DESKRIPSI Bagian ini berisi uraian langkah-langkah penyelesaian masalah.
1. Bagaimana merencanakan suatu algoritma. 2. Bagaimana menyatakan suatu algoritma Dengan bahasa semu (pseudocode), Contoh : Hitung konversi jam Deklarasi jam, mnt, dtk, jum_dtk; Deskripsi 1.input jam, mnt, dtk 2.Jum_dtk (jam * 3600) + (mnt * 60) + dtk 3.Cetak jum_dtk TAHAPAN ANALISA ALGORITMA
Dengan diagram alur atau flowchart, Contoh : input Jam,mnt,dtk start Jum_dtk =(jam * 3600) +(mnt* 60) + detik write jum_dtk end
Dengan Statement program / penggalan Program scanf ( “%d %d %d”,&jam, &mnt, &dtk); Jum_dtk := (jam* 3600) +(mnt * 60) + dtk Printf (“%d”, jum_dtk) 3.Bagaimana validitas suatu algoritma. 4.Bagaimana Menganalisa suatu Algoritma. 5.Bagaimana Menguji Program dari suatu Algoritma. Tahap Proses uji Program : 1.Fase Debugging, 2.Fase Running,
(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan terhadap suatu algoritma dengan melihat pada : WWaktu 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 JJumlah Memori Yang Digunakan. Analisis Suatu 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, Sifat - Sifat Algoritma
STRUKTUR DASAR PSEUDOCODE Runtunan 1 1.A 10 2.A A mod 3 3.B A 4.Output B Runtunan 2 1.A 10 2.B A 3.A A mod 3 4.Output B 1. Runtunan (sequence)
2. Pemilihan (selection) Menganalisis kasus dalam algoritma artinya mendefinisiakan : Kondisi, yaitu yang bernilai benar atau salah Aksi yang akan dilaksanakan jika kondisi yang sesuai dengan aksi tersebut bernilai benar Contoh : (satu kasus) 1.input x 2.if (x < 0) then kerjakan baris 3 3.Write bilangan negatif Contoh : dua kasus 1.input x 2.if (x < 0) then Write negatif else Write positif
3.Pengulangan (repetition) Struktur pengulangan terdiri dari dua bagian : a. Kondisi pengulangan b. Badan (body) pengulangan Pengulangan biasanya disertai dengan bagian : a. Inisialisasi b. Terminasi
Mencetak nilai kuadrat Deklarasi : i, n Deskripsi 1.input n 2.i 1 3.write (‘i’, ‘i + i’) 4.while i n do baris 5 dan 6 5. Cetak (i, i * i ) 6. i i + 1 Deklarasi : i, n Deskripsi 1.input n 2.i 1 3.Cetak (‘i’, ‘i + i’) 4.Do baris 5 dan 6 while i > n 5.write (i, i * i ) 6.i i input n 2.i 1 3.write (‘i’, ‘i + i’) 4.For j = i to n do baris 5 sampai 6 5. write (i, i * i ) 6.Next j 1.For N = 1 to 4 2.For K = 1 to N 3.Write N, K 4.Next K 5.Next N