1 / 122

Algoritma

Algoritma. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah Urutan logis berarti urutan langkah-langkah harus benar, dan langkah-langkah itu sendiri juga harus benar.

Download Presentation

Algoritma

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma • Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis • Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah • Urutan logis berarti urutan langkah-langkah harus benar, dan langkah-langkah itu sendiri juga harus benar

  2. Berasal dari ahli matematikia Arab : • Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi

  3. Algoritmna merupakan kerangka dasar dari konsep suatu program untuk menyelesaikan masalah . Algoritma tidak terikat dari suatu bahasa pemrograman manapun atau dengan kata lain bahasa yang digunakan adalah bebas dengan bahasa apapun, baik memakai bahasa Indonesia, bahasa Inggris atau bahasa lainnya.

  4. menerapkan algoritma dalam kehidupan sehari-hari • Menyapu halaman • Mencuci piring • Mandi • Dan banyak contoh lainnya …

  5. Setiap orang punya pola pikir yang berbeda, karena itu akan menghasilkan algoritma yang berbeda • Algoritma dikatakan benar apabila dapat memecahkan masalah • Perlu dipertimbangkan masalah efisiensi dalam penyusunan algoritma • Pemilihan rute jalan, misalnya : • Beberapa rute mungkin akan menghasilkan tujuan yang sama • Ada rute yang lebih efisien dibanding rute lainnya • Sebaiknya yang diambil adalah rute terpendek

  6. Penulisan Algoritma : • Algoritma dapat dinotasikan dalam beberapa cara, yaitu: • Dengan untaian kalimat deskriptif (natural) • Tapi sering membingungkan (ambiguous) • Dengan pseudocode • Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman • Dengan flowchart • Bagus secara visual akan tetapi repot kalau algoritmanya panjang – Tapi sering membingungkan (ambiguous)

  7. FLOWCHART • Flowchart lebih baik dibandingkan pseudocode • Merupakan gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program yang menyatakan arah alur program tersebut • Disajikan dalam bentuk grafik/gambar • Dapat membantu programmer maupun orang lain dalam memahami alur program (apa saja input, proses dan output dari program) • Representasi visual, karena itu lebih mudah dipahami • Jumlah simbol yang digunakan sedikit, karena itu lebih sederhana dan lebih mudah dipelajari

  8. Flow Chart • flow chart (diagram alir) • (menggambarkan urutan langkah-langkah kegiatan /program mulai dari awal sampai akhir dengan menggunakan simbol atau gambar tertentu.) • Kegunaan : mendesain dan mempresentasikan program

  9. Lambang Flowchart

  10. Mulai Inputkan nilai (tugas,uts,uas) NA = 25%tg+25%uts+50%uas NA>60 Gagal Lulus Selesai

  11. PEmrograman : aktifitas yg dilakukan dengan membat intruksi untuk menyelesaikan permasalahan yg dimenegeti oleh komputer • Program : coding, hasil pemrograman • Bahasa Pemrograman : Bahasa program yang digunakan untuk membuat urutan instruksi yg dimengerti oleh komputer. • Pemrograman (programer) : orang yg membuat program komputer.

  12. Algoritma dengan pseudo-code kecil bilangan pertamaif ( bilangan kedua < kecil)kecil bilangan keduaif ( bilangan ketiga < kecil)kecil bilangan ketiga Ouput(kecil)

  13. Flow chart untukmenentukanbilanganterkecil

  14. Kriteria/ AspekPentingdariAlgoritma 1. Finiteness• Algoritmaharusberhenti after a finite number of steps2. Definiteness• Setiaplangkahharusdidefinisikansecaratepat, tidakbolehmembingungkan (ambiguous)3. Input• Sebuahalgoritmamemilikinolataulebihinput yang diberikankepadaalgoritmasebelumdijalankan4. Output• Sebuahalgoritmamemilikisatuataulebih output, yang biasanyabergantungkepadainput5. Effectiveness• Setiapalgoritmadiharapkanmilikisifatefektif

  15. beberapa langkah umum dalam pembuatan suatu program yaitu • Mendefinisikan masalah • mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program • Mencari solusinya • Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi. • Menentukan algoritma • Menulis program • Menguji program • Mendokumentasikan program • Merawat program

  16. TIGA BAGIAN ALGORITMA : • Judul (Header) • Kamus • Algoritma

  17. Contoh : JUDUL ( Header) • Program Luas_Kubus { judulalgoritma } KAMUS • Kamus : • X,Y : integer • Cari : boolean ALGORITMA • Algoritma : • Input (c,d) • If c < d then • e  a + b • Else • e  a-b • Output( e )

  18. Contohpenulisankasusalgoritma Bahasa natural Pseudo code Program Nilai_maksimal Kamus hasil,x,y : integer Algoritma input(x,y) if x > y then hasil x else hasil  y output(hasil) Program nilai_maksimal Kamus X = nilaipertama Y = nilaikedua Hasil = hasilperbandingan Algoritma a. MasukkanNilai x dan y b. Jika x lebihbesardari y, nilaiterbesaradalah x jikatidakmakanilaiterbesaradalahnilai y c. Cetakhasilnilaiygterbesar

  19. TIPE DATA, OPERATOR DAN EKSPRESI Program Komputer memanipulasi data (variabel dan konstanta) di dalam memori. • TIPE DATA : • Untuk menyatakan tipe data dari sebuah variabel (peubah) pada Deklarasi. • OPERATOR : • Menspesifikasikan operasi apa yang dapat dilakukan terhadap peubah (variabel) dan konstanta. • EKSPRESI : • Mengkombinasikan peubah-peubah dan dan konstanta untuk menghasilkan hasil baru.

  20. TIPE DATA • TIPE DATA DASAR : • Tipe yang dapat langsung dipakai. • TIPE DATA BENTUKAN : • Tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya.

  21. 1. TIPE DATA DASAR • Dalam pemrograman, yang termasuk ke dalam tipe dasar adalah : Bilangan lojik, bilangan bulat, karakter, bilangan riil, dan string • Bilangan lojik, bilangan bulat, dan karakter disebut juga dengan TIPE ORDINAL (nilainya ada dalam urutan).

  22. BILANGAN LOJIK • NAMA TIPE : • Boolean • RANAH NILAI : • Dua buah nilai : Benar (true) dan Salah (false) • bilangan logik :benar  1, salah  0 • KONSTANTA : • True dan False • OPERASI : • Operasi Logika atau operasi boolean • Operasi logika menghasilkan nilai : true atau false • Operator logika : AND, OR dan XOR

  23. BILANGAN LOJIK - next

  24. BILANGAN LOJIK - next • Contoh operasi logika : • Misalkan X, Y, dan Z adalah peubah (variabel) bertipe boolean. • Dimana : • X bernilai true, Y bernilai false, dan Z bernilai true • Maka : operasi logika hasil ------------------------------------------ ( x and y) or z true A and ( y or z) true Not (x and z) false (y xor z) and y false

  25. BILANGAN BULAT • Bilangan yang tidak mengandung pecahan desimal, misal : 34, 8, 0, -17, 45678901, dsb • NAMA TIPE : • Integer • RANAH NILAI :

  26. BILANGAN BULAT - next • Contoh ; • deklarasi : • X : byte • Y : integer • Maka : • Peubah X tidak dapat dioperasikan untuk nilai-nilai di atas 255 • Peubah Y tidak dapat dioperasikan untuk nilai-nilai di atas 32767

  27. Contoh program Program salahtipe; Uses wincrt; Var a,b,x : shortInt; Begin a:=10; b:=20; X:=a*b; {x akan bernilai -56, bukan 200} Writeln(‘Nilai x=‘, x); End.

  28. BILANGAN BULAT - next • KONSTANTA : • Harus ditulis tanpa mengandung titik desimal : • Contoh : 78, -14, 7654, 0, 5, 9999, dsb • OPERASI : • Operasi aritmetika : + (tambah) - (kurang) * (kali) Div (hasil bagi bilangan bulat) Mod (sisa hasil bagi) Contoh : 3 + 10  hasil : 13 10 DIV 3  hasil : 3 10 MOD 3  hasil : 1

  29. BILANGAN BULAT - next 2. Operasi Perbandingan : • Menghasilkan nilai boolean (true dan false)

  30. Contoh : operasi perbandingan

  31. BILANGAN RIIL • Bilangan yang mengandung pecahan desimal : 3.65, 0.003, 29.0, .24, dll • NAMA TIPE : • Real • RANAH NILAI :

  32. BILANGAN RIIL - next • KONSTANTA : harus ditulis dengan tanda titik desimal contoh : 0.78, -14.2376, 0.0, .5, 99.0 • OPERASI : 1. operasi Aritmetika + (tambah, -(kurang), *(kali), / (bagi) Contoh: 6.4 + 5.7  hasil : 12.1 8.0 – 2.8  hasil: 5.2 10/2.5  hasil: 4.0 (operasi bilangan campuran) 7.2 * 0.5  hasil : 3.6

  33. BILANGAN RIIL - next 2. Operasi Perbandingan : menghasilkan nilai boolean (true dan false) Tipe bilangan riil tidak mengenal operator kesamaan (=), karena bilangan riil tidak bisa disajikan secara tepat oleh komputer, Misal : 1/3 tidak sama dengan 0.33333, sebab 1/3 = 0.33333…(dg angka 3 yg tidak pernah berhenti).

  34. KARAKTER • Semua huruf-huruf abjad, semua tanda baca, karakter khusus, karakter kosong (null) ‘’. • NAMA TIPE : • Char • RANAH NILAI : • Adalah semua huruf di dalam alfabet (‘a’..’z’, ‘A’..’Z’, angka desimal (‘0’..’9’), tanda baca(‘.’,’:’,’!’,dll), operator aritmetika(‘+’,’-’,dll), karakter khusus(‘$’,’#’,’@’,dll) • KONSTANTA : • Karakter harus diapit oleh tanda petik tunggal. • Contoh : ‘h’, ‘y’, ‘.’, ‘ ‘, ‘9’, ‘$’

  35. KARAKTER - next • OPERASI : • Hanya Operasi Perbandingan : Contoh : ‘a’ = ‘a’  hasil: true ‘T’ = ‘t’  hasil: false ‘y’ ≠ ‘y’  hasil: false ‘m’ < ‘z’  hasil: true ‘q’ > ‘z’  hasil : false

  36. STRING • Adalah untaian karakter dengan panjang tertentu. • NAMA TIPE : • String • RANAH NILAI : • Deretan karakter yg telah didefinisikan pada ranah karakter. • KONSTANTA : • Semua konstanta string harus diapit oleh tanda petik tunggal. Contoh: ‘BANDUNG’, ‘ganesha’, ‘Jl. Pahlawan no. 76’, ‘…………………’, ‘k768532’, dll.

  37. STRING - next • OPERASI : • Operasi Penyambungan (Concatenation): • Operator : + (penyambungan, bukan tambah) Contoh : ‘Teknik’ + ‘Informatika’  hasil : ‘Teknik Informatika’ ‘aaa’ + ‘ bbb’  hasil: ‘aaa bbb’ ‘1’ + ‘2’  hasil: ’12’ • Operasi Perbandingan :

  38. STRING - next • Operasi Perbandingan menghasilkan nilai boolean (true dan false) Contoh: ‘abcd’ = ‘abc’  hasil: false ‘aku’ < ‘AKU’  hasil: true

  39. Syarat penamaan (variabel, konstanta, nama type bentukan, nama field, nama fungsi,nama prosedur) • Harus unik (tidak boleh dua buah nama yang sama) • Harus dimulai dengan huruf alfabet (tidak boleh dimulai dg angka, spasi, atau karakter khusus lainnya) • Huruf besar dan huruf kecil tidak dibedakan • Karakter penyusun nama hanya boleh huruf alfabet, angka, dan ‘_’ (underscore) • Tidak boleh mengandung operator aritmetika, relasional, tanda banca, dan karakter khusus lainnya • Karakter tidak boleh dipisah dengan spasi • Panjang nama tidak dibatasi

  40. Contoh penamaan NAMA

  41. Yg diberi nama dalam Algoritma : • Peubah (variable) : Tempat menyimpan nilai yg isinya dapat diubah Contoh: X, nilai_ujian, jumlah : real k : integer • Konstanta (constant) Tempat penyimpanan di dalam memori yg nilainya tetap selama pelaksanaan program dan. Notasi yg digunakan adalah const Contoh ; const phi = 3.14, Nmaks = 100, sandi = ‘xyz’, dll

  42. Yg diberi nama dalam Algoritma -next: 3. Tipe Bentukan : Nama tipe bentukan diberikan oleh pemrogram contoh: Type titik : record <x:real, y : real> Type Jam : record < hh : integer {0..23} mm : integer {0..59} ss : integer {0..59} > P : titik J1, J2 : Jam Titik dan Jam adalah nama tipe, sedangkan P adalah variabel yg bertipe Titik, J1 dan J2 adalah variabel yg bertipe Jam

  43. Yg diberi nama dalam Algoritma -next: 4. Nama Fungsi : Function Maksimum (input A,B : integer)  integer { mengembalikan nilai terbesar antara A dan B} Maksimum adalah nama fungsi 5. Nama prosedur : Procedure Tukar(input/output A, B : integer) { mempertukarkan nilai A dan B} Tukar adalah nama prosedur

  44. NILAI dalam Algoritma • Nilai adalah besaran dari tipe data yang terdefinisi (tipe dasar atau tipe bentukan) • Dapat berupa data yg disimpan di dalam peubah atau konstanta, nilai dari hasil hitung, atau nilai yg dikirim oleh fungsi • Pada ALgoritma, memanipulasi nilai di dalam peubah/variabel (yg bertipe sama)

  45. Pengisian NIlai ke dalam Peubah (Variable): • Pengisian secara langsung (assignment): Mengisi sebuah nilai ke dalam peubah secara langsung (nilai yg diisikan harus bertipe sama dg tipe peubah) contoh : M  16 P  M * 2 M  P + 100 P  P + M • Pembacaan : Nilai peubah dapat diisi secara eksternal dafri piranti masukan, misalnya dari keyboard, dari file, mouse, dsb. Akan membaca sesuai apa yg kita masukkan (inputkan). Contoh : Read (M) : komputer membaca nilai M yg diinputkan dari luar (mis: keyboard), jika nilai yg diketik adalah 78, maka lokasi memori yg bernama M sekarang berisi 78

  46. EKSPRESI • Transformasi nilai menjadi keluaran dilakukan melalui sutu perhitungan (komputasi) • Cara perhitungan itu dinyatakan dalam suatu ekspresi • Ekspresi terdiri atas :OPERAND dan OPERATOR

  47. Tigamacamekspresi : • EkspresiAritmetik (operator aritmetik): Contoh : a*b, a*b/c, a div b * c, a+b*c : d  a*b (tipe data d harussamadenganhasilhitunganekspresi a*b) • EkspresiRelasional (operator relasional): Contoh : not ada, ada or ketemu, x < 5, ada or (x=y), dll. • Ekspresi String (operator penyambungan (+)) Contoh : ‘Jl. Ganesa’ + ‘No.12’

  48. Jenis Proses Algoritma • Algoritmaberisi langkah2 penyelesaiansuatumasalah (berurut, pemilihan, pengulanganaksi) KonstruksiAlgoritma: • Runtunan (sequence process) • Pemilihan (selection process) • Pengulangan (repetition process)

  49. Runtunan (sequence process) • Terdiri dari satu atau lebih pernyataan • Tiap pernyataan dikerjakan secara berurutan sesuai dg urutan penulisannya (sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan) Bentuk umum : proses 1 proses 2 proses 3 … Contoh: mempertukarkan dua nilai dari dua buah variabel (peubah) A dan B. Algoritma : 1. isikan nilai A ke dalam C 2. isikan nilai B ke dalam A 3. isikan nilai C ke dalam B Hasil akhir : varibel A berisi nilai dari varibale B, dan variabel B berisi nilai dari variabel A .

  50. Pemilihan (selection process) • Sebuahaksidikerjakanjikakondisitertentudipenuhi (True) dan apabila suatu kondisi tidak terpenuhi (false) maka program akan melakukan aksi lain (jika ada) atau langsung keluar dari blok pemilihan. Contoh: jikalamputraffic lightberwarnamerah, makaberhenti • Dalam Algoritmadan pemrograman Strukturpemilihan dapat didefinisikan dengan dua cara yaitu menggunakan statemen IF atau CASE.

More Related