Your SlideShare is downloading. ×
Dasar dasar algoritma
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Dasar dasar algoritma

1,638
views

Published on

Published in: Education

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
1,638
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
119
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DASAR-DASAR ALGORITMA
    STMIK AMIKOM YOGYAKARTA
    NURFATA ALIEM PRABOWO
  • 2. STRUKTUR DASAR ALGORITMA
    • Algoritma berisi langkah2 proses penyelesaian mslh
    • 3. Langkah2 proses penyelesaian masalah tersebut dpt membentk konstruksi suatu algoritma, langkah2 tersbt adalah :
    1. runtunan aksi
    2. pemilihan aksi
    3. pengulangan aksi
  • 4. RUNTUNAN AKSI
    Sebuahruntunanterdptsatuataulebihpernytaan,setiappernyataandikerjakansecaraberurutansesuaipenulisannya
    Sebuahinstruksidikerjakansetelahinstruksisebelumnyatelahdilaksanakan
    Urutaninstruksimenentukankeadaanakhirsuatualgoritma
    Bilaurutanalgoritmadirubah,makahasilakhirmungkinjugaberubah
    Runtunanygmempunyaisatu/lebihpernyaaandisbtpenytaangabungan
  • 5. Contoh:
    Program tukar_isi
    Diberikan 2 buah ember A & B berisi air berwarnamerah, ember B berisi air berwarnabiru.pertukarkankeduaisi ember tersbtshg ember A berisi air berwrnabiru & ember B berisi air berwanamerah
    Algoritma :
    Tuangkan air dari ember A kedlm ember C
    Tuangkan air dari ember B kedlm ember A
    Tuangkan air dari ember C kedlm ember B
  • 6.
    • Algoritmatukar_isimenjadiinspirasiuntukmempertukarkannilaidr 2 buahnilaidr 2 peubah
    • 7. Misal A=8 dan B=5, pertukarkannilai A & B, sehingga A=5 dan B=8,maka algoritmanya :
    isikannilai A kedlm B
    isikannilai B kedlm A
    makahasilnya:A=8 & B=8, makaalgoritmapertkarannyasalah.Agaralgirtmanyabenar,makaperludigunakanpeubahbantu,misal C, sehingggaalgoritmanyaadalah:
  • 8. Isikannilai A kedlm C
    Isikannilai B kedlm A
    Isikannilai C kedlm B
  • 9. 2. PEMILIHAN
    Adaklanyasebuahaksidikerjakanjikakondisidipenuhi
    Misal:jikalamputraffic light berwarnamerah,makakendaraanharusberhenti,makapernyataanadalah:
    jikalampu traffic light berwarnamerah,maka
    berhenti
    Pernytntersbtdisbtpenyt.pemilihan (selection-stantement)atauperny.kondisional
  • 10. Bentukumumselection statement:
    Kondisi:pernsyartnygdptbernilaibenar-salah,aksisetelahthendilakukanhanyajikakondisibenar
    If & then ad/ kacakunci (keyword) u/ strukturpemilihan
    Contoh :
    ifx habisdibagi s then
    tulis x ad/ bilangangenap
    If kondisi then
    aksi
  • 11. Bentuk lain statentcondisional
    if kondisi then
    aksi1
    Else
    aksi2
    a.
    else “kalautdk”. Bilakondisibenar,maka aksi1 ygdikerjakan,kalautdk aksi2 dikerjakan.contoh:
    iflampu A nyalathen
    tekantombolmerah
    else
    tekantombolbiru
  • 12. b.nested-if =pemilihanbersarang ad/ apabilapemilihanaksiygdilakukanlebihdr 2 buah,makastrukturpemilihanyamenjdirumit.
    if kondisi1 then
    aksi1
    Else
    if kondisi2 then
    aksi2
    else
    aksi3
  • 13. Contoh :
    iflampu traffic light berwarnamerahthen
    berhenti
    else
    iflampu traffic light berwarnakuningthen
    jalanhati-hati
    else
    jalanterus
    Dlmstate.kondisidikenaladanya ‘indentasi’ yaitu: pengg.ronggakosongygmembuatalgoritmamenjdmudahdibaca.
  • 14. Contoh:tanpaindentasi
    iflampu traffic light berwarnamerahthen
    berhenti
    Else iflampu traffic light berwarnakuningthen
    jalanhati-hatielse
    jalanterus
    Penulisanalgoritmasangatdianjurkan u/ membuatindentasi,agaralgoritmamudahdbaca.
    Kelebihanstrukturpemilihanterltk pd kemampuannyaygmemungkinkanpemrosesmengikutijaluraksiygberbedaberdsrkankondisiygada.
  • 15. 3.PENGULANGAN
    Salahkelebihankomputer ad/ kemampuannya u/ melakukanperkerjaansecaraberulang-ulang
    Contoh:
    program menulis_kalimat_500_kali
    menuliskankalimat ‘algoritmaadalahlangkahlogispenyelesaianmasalah’ sebanyak 500 kali
    Algoritma:
    1. tulis ‘algoritmaadalahlangkahlogispenyelesaianmasalah’
    2. tulis ‘algoritmaadalahlangkahlogispenyelesaianmasalah
    3. tulis ‘algoritmaadalahlangkahlogispenyelesaianmasalah
    .
    .
    .
    500
  • 16. u/ mengtasihaltersbtdptdigunakanstukrutrpengulanganfor-do, sehinggaalgoritmya:
    programmenulis_kalimat_500_kali
    menuliskankalimat ‘algoritmaadalahlangkahlogispenyelesaianmasalah’ sebanyak 500 kali
    Algoritma:
    foridari 1 sampai 50 do
    tulis ‘algoritmaadalahlangkahlogispenyelesaianmasalah’
    i ad/ pencacahpengulanganygmencacah 1 s/d 500
  • 17. Bentuk2 pengulangan:
    Forpencacahpengulangandr 1 s/d N do
    aksi
    repeat-until=ulangi-sampai: prosespengulanganakanberhentijikakondisiterpenuhi
    3 While-do=selama-lakukan= prose pengulanganakanberhentijikakondisisalah
    Repeat
    Aksi
    Until kondisi
    While kondisi do
    Aksi
  • 18. STRUKTUR TEKS ALGORITMA
    Ada 3 bagian struktur suatu algoritma, yaitu :
    Bagian Judul (header)
    Bagian Deklarasi
    Bagian Algoritma
  • 19. StrukturteksAgoritma :
    PROGRAM nama_program
    {penjelasan tentang algoritma yg beisi uraian singkat mengenai masalah yg akan diselesaikan}
    DEKLARASI
    {Semua nama yg dipakai, nama tipe,konstanta,var,prosedur,dan fungsi diumumkan disini}
    ALGORITMA
    {Semua langkah/aksi algoritma dituliskan disini}
  • 20. Contoh:
    PROGRAM luas_lingkaran
    {menghitung luas lingkaran apabila jari-jari lingkaran sudah diberikan}
    DEKLARASI
    {Nama Konstanta}
    const N =10
    const phi=3.14 {nilai phi}
    {Nama variabel}
    jari_jari, luas:real
    ALGORITMA:
    READ (jari_jari)
    LUAS Phi *jari_jari*jari_jari
    Write (luas)
  • 21. 1. Bagianjudul / header
    Memuat nama program dan penjelasan(spesifkasi) tentang program
    Nama program ditulis singkat,tetapi hrs menggambarkan apa yg dilakukan algoritma
    Algoritma yg dibuat harus sesuai dgn spesifikasi masalah yang diberikan
    Contoh:
    PROGRAM helloWord
    {program untuk mencetak “hello word”}
    PROGRAM luas_lingkaran
    {program untuk menghitung luas lingkaran”}
  • 22. 2. BagianDeklarasi
    Mengumumkan semua nama yg akan dipakai, termasuk nama tipenya
    Nama tersbut berupa:konstanta,variabel,tipe, prosedur dan fungsi
    Semua nama tersbt harus dideklarasikan sebelum digunakan
  • 23. Contoh:
    DEKLARASI
    {nama konstanta}
    const N=10 {jumlah data}
    const phi=3.14 {nilai phi}
    {nama variabel}
    jari_jari,luas:real
    {nama tipe}
    type titik:record {koord.titik dibidang kartesian}
    < x:integer, {absis}
    y:integer> {ordinat}
  • 24. FUNCTION apakah_A(input c:char) boolean
    {mengembalikannilai true bila c adalahkarakter ‘A’ atau false bilasebaliknya}
    PROSEDURE tukar(input/output A:integer, input/output B:integer)
    {mempertukarkannilai A & B,parameter A & B sudahterdefinisinilainya.setelahpertukaran A berisinilai B semula, B berisinilai A semula}
  • 25. tidakbolehmengandungspasi, tandabacadanoperasimatematika
    Karaktergarisbawah (“_”) dptdigunakanuntukmenggantikanspasi
    Tidakmembedakanhurufkecildanhurufbesar
    (bahasapemrograman case sensitifsepertibahasa C menganggaphurufkecildanbesaradalah 2 karakter yang berbeda)
  • 26. 3. BagianAlgortima
    Bagian ini merupakan inti dari suatu program
    Berisi deskripsi langkah2 penyelesain masalah berupa pernyataan, yg ditulis dalam suatu notasi
    Misal write untuk mencetak data/informasi, read untuk membaca data,dsb
    Setiap pernyataan dlm algoritma dibaca dari atas ke bawah
    Algoritma dieksekusi berdasarkan urutan pernyataan
  • 27. Contoh :
    Algoritma :
    Read (panjang,lebar)
    Luas ←panjang*lebar
    Write (luas)
  • 28. Translasiteksalgoritmakedlmteks program pascal & C
    Teks algoritma merupakan hasil pemikiran konseptual, agar dpt dilaksanakan o/komputer maka harus ditranslasi kedlm bahasa bahasa pemrograman apapun
    Bahasa pascal merupakan bahasa pendidikan krn paling banyak digunakan dilingkungan universitas
    Bahasa C krn memiliki lingkungan yg luas dlm industri perangkat lunak
  • 29. Contoh2 translasi
    Algoritmik
    Program luas_segiempat
    {membaca panjang & lebar yg berbentuk empat persegi panjang, menghitung luasnya, lalu mencetak luas tersebut ke piranti keluaran}
    DEKLARASI
    {nama variabel}
    panjang :real {panjang segiempat dlm cm}
    lebar :real {lebar segiempat dlm cm}
    luas :real {luas segiempat dlm cm}
    ALGORITMA:
    Read (panjang,lebar)
    luas←panjang*lebar
    Write (luas)
  • 30. Translasidlmbahasapascal
    Program luas_segiempat;
    Uses wincrt;
    Var
    panjang,lebar,luas:real;
    Begin
    write (panjang=‘);readln (panjang);
    write (lebar =‘);readln (lebar);
    luas:=panjang*lebar;
    writeln (luassegiempat=‘,luas:5:2);
    End.
  • 31. Translasi dlm bahasa C
    /*program luas_segiempat */
    /* program untukmenghitungluassegiempat */
    # include <stdio.h>
    Main ()
    {
    /* deklarasi*/
    Float panjang; {panjangsegiempatdlm cm}
    Float lebar; {lebarsegiempatdlm cm}
    Float luas; {luassegiempatdlm cm}
    /*algoritma*/
    Printf (“panjang =“);scanf (“%f”, &panjang);
    Printf (“lebar =“);scanf (“%f”, &lebar);
    Luas=panjang*lebar;
    Printf (“luassegiempat=“ %f n “,luas);
    }
  • 32. Contoh1: menghitungkomisi salesman
    Tulislahagoritmauntukmenghitungkomisiygditerima salesman berdasarkannilaipenjualanygdicapainya. Salesman mendapatkomisi 5% darihasilpejualannya.algoritmamenerima data nama salesman dannilapenjualanygdicapainya. Menghitungkomisilalumencetaknamadanbesarkomisiygdiperolehnya
  • 33. penyelesain
    Program komisi
    {menghitung komisi yg diterima salesman berdasarkan nilai penjualan yg dicapainya. Salesman mendapat komisi 5% dari hasil pejualannya}
    Deklarasi
    nama_salesman : string
    nilai_penjualan : real
    komisi : real
    Algoritma:
    Read(nama_salesman,nilai_penjualan)
    komisi←0.05 *nilai_penjualan
    Write (nama_salemsman,komisi)
  • 34. Translasibahasapascal
    Program komisi_salesman;
    Uses wincrt;
    Var
    nama_salesman :string;
    nilai_penjualan :real;
    komisi :real;
    Begin
    write (‘nama salesman:‘);readln (nama_salesman);
    write (‘nilaipenjualan :‘);readln (nilai_penjualan);
    komisi :=0.05 * nilai_penjualan;
    writeln (‘komisipenjualan =‘,komisi:7:2);
    End.
  • 35. /*program komisi_salesman */
    /* program untukmenghitungkomisi salesman */
    # include <stdio.h>
    Main ()
    {
    /* deklarasi*/
    String nama_saleman;
    Float nilai_penjualan;
    Float komisi;
    *algoritma*/
    Printf (“nama salesman =“);scanf (“%s”, &nama_salesman);
    Printf (“nilaipenjualan =“);scanf (“%f”’, &nilai_penjualan);
    Komisi=0.05 * nilai_penjualan;
    Printf (“komisipenjualan=“ %f n “,komisi);
    }

×