1 / 17

Algoritma dan Struktur Data

Algoritma dan Struktur Data. k <= 5. KONDISI. BENAR. Perulangan do ….while (C++). Flowchart. C++ : do { < aksi > } While < kondisi >;. Algoritma : Repeat aksi Until < kondisi >. Statement. TIDAK. EXAMPLE. Algoritma Cetak_Angka

alisa-cash
Download Presentation

Algoritma dan Struktur Data

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. AlgoritmadanStruktur Data

  2. k <=5 KONDISI BENAR Perulangan do….while (C++) Flowchart • C++ : do { <aksi> } While <kondisi>; • Algoritma : Repeat aksi Until <kondisi> Statement TIDAK EXAMPLE • AlgoritmaCetak_Angka • {MencetakAngka 1 -5 denganmenggunakanstrukturperulangan do …….while} • DEKLARASI • k: integer • DESKRIPSI • k1 • Repeat • write(k) • kk+1 • until k < 5 START • C++ • int k; • K=1; • while (k <= 5) • { • cout<<k; • } k=1 write k k=k+1 Y T END

  3. While….. do Vs Repeat ….. Until • Repeat …..until  pengujiankondisidiakhir  aksiakandilakukan minimal satu kali • While …..do  pengujiankondisidiawal  adakemungkinanaksitidakdieksekusisamasekali • #include <iostream> • using namespace std; • void main() • { • string ulang; • ulang="y“; • do • { • cout<<"STMIK MDP "<<endl; • } • while ((ulang == "y") || (ulang=="Y")); system("pause"); • } • #include <iostream> • #include <string> • using namespace std; • void main() • { string ulang; • ulang=“t"; • while ((ulang == "y") || (ulang=="Y")) • { • cout<<"STMIK MDP "<<endl; • } • system("pause"); • } • VS

  4. FUNGSI dan PROCEDURE • Blok program tersendiri yang merupakanbagiandari program lain yang lain (modulutama) • Mengerjakansuatutugas yang spesifik • Keuntungan : • Menghindaripenulisankode program yang samaberkali kali • Kemudahanmenulisdanmenemukankesalahan(debug) program • FUNGSI vs PROSEDUR • Bedanyaprosedurberisikanprosestertentu yang tidakakanmengembalikannilaikemodulutama • Fungsimengembalikannilaikemodulutama yang memanggilmya

  5. Ilustrasi FUNGSI dan PROCEDURE PROGRAM UTAMA MODUL 1 A1 A2 A3 Call MODUL1 A4 A5 Call MODUL 2 A6 A7 Call MODUL 1 A8 M11 M21 M31 MODUL 2 M21 M22 M23

  6. Pseudocode PROSEDUR Procedure NAMA_PROSEDUR {Penjelasantentangapa yang dilakukanprosedurtersebut} Deklarasi {semuanama yang dipakai (variabel ,konstanta) yang dipakaidiprosedurdanhanyaberlakudidalamprosedur} Deskripsi {Kumpulan instruksi}

  7. Example PROSEDUR Procedure CetakHallo {Mencetakkata Hello World} Deklarasi {tidakada} Deskripsi write (‘Hallo ’) Tulislahproseduruntukmencetak string Hello World Tulislahproseduruntukmenghitung luassegitigaL=(alas x tinggi) /2 ! Procedure HitungLuasSegitiga {Menghitungluassetiga , luas=(alas x tinggi)/2} Deklarasi alas,tinggi,luas : real Deskripsi read (alas,tinggi) luas (alas*tinggi)/2 void CetakHallo() { cout<<“Hallo” } void HitungLuasSegitiga() { intluas,alas,tinggi; cout<<“alas ?”;cin>>alas cout<<“tinggi ?”;cin>>tinggi luas=alas*tinggi; cout<<luas }

  8. PemanggilanProsedur • Prosedurdiaksesdengancaramemanggilnamaprosedurtersebutdari program utama • Di dalam program utama, harusadaprototipeprosedur.  Supaya program utamadapatmengenaliprosedurtersebutdancaramengaksesprosedurtersebut • Prototipeprosedurberisikan header prosedur PROGRAM UTAMA PROGRAM UTAMA AlgoritmaHallo {Program Utamauntukmemcetak string Hallo} Deklarasi procedure CetakHallo Deskripsi CetakHallo AlgoritmaLuasSegitiga {Program Utamauntukmenghitungluassegitiga} Deklarasi procedure HitungLuasSegitiga Deskripsi HitungLuasSegitiga

  9. Nama Global danNamaLokal • Namalokal • Konstanta,variabeldan lain lain yang dideklarasikandidalamprodedurtersebut. • Nama global • Di deklarasikanberlakusecara global (dapatdigunakandiseluruhbagian program) • void ContohGlobalLokal() • { cout<<nilai; • intangka=10; • cout<<angka • } • #include<iostream> • #include<string> using namespace std; • intnilai=60; void ContohGlobalLokal(); void main() { cout<<nilai; ContohGlobalLokal(); cout<<angka; //SALAH system("pause"); }

  10. Parameter PadaProsedur Digunakanuntukpertukaraninformasi / data antara program utamadanprosedurataufungsi. Ada 3 jenis parameter 1. Parameter masukan (input parameter) 2. Parameter keluaran (output parmameter) 3. Paramatermasukan/keluaran (input/output parameter) AlgoritmaContohSatu {program utama} Deklarasi Procedure Satu (input x:integer, input y :integer) a,b : integer Deskripsi Satu(4,5) read(a,b) Satu(a,b) Satu(a+5,17) Procedure Satu (input x,y :integer) {Contoh parameter masukan} Deklarasi {tidakada} Deskripsi x  x+1 y  y+1 write(x,y)

  11. Translasi parameter input PadaProsedur • #include<iostream> using namespace std; void Satu(intx,int y); void main() { inta,b; Satu(4,5); cout<<“A ?”; cin>>a; cout<<“B ?”; cin>>b; Satu(a,b); Satu(a+50,b); system("pause"); } • void Satu(int x, int y) • { • x=x+1; • y=y+1; • cout<<x<<endl; • cout<<y<<endl; • }

  12. Example Prosedurdengan Parameter Input Procedure HitungRataRata (input n :integer) {Menghitung rata-rata N buahbilanganbulat yang dibacadaripirantimasukan. KeadaanAwal : N sudahberisibanyaknyabilanganbulat n>0 KeadaanAkhir : rata-rata seluruhbilanganbulatdicetakkepirantikeluaran } Deklarasi x : integer {data bilanganbulat yang diinputdaripirantimasukan} k : integer {counter untuk FOR } jumlah : integer {digunakanuntukjumlahseluruhbilangan} u : real Deskripsi jumlah 0 for k1 to N do read(x) jumlahjumlah +x end for u jumlah/N write(u) AlgoritmaRataRataBilanganBulat {program utama} Deklarasi Procedure HitungRataRata (input n :integer) Ndata : integer Deskripsi read(Ndata) HitungRataRata(Ndata)

  13. Prosedurdengan Parameter Output Procedure Dua (input x:integer, output y:real) {Contoh parameter keluaran} Deklarasi {tidakada} Deskripsi x  x+1 y  x+10.5 AlgoritmaContohDua {program utama} Deklarasi Procedure Dua (input x:integer,output y :real) a,b : integer Deskripsi Dua(5,b) write(b) read(a) Dua(a,b) write(b) Dua(a+5,b) • #include<iostream> using namespace std; • void Dua(int x, int *y); • void main() • { inta,b; • Dua(5, &b); • cout<<b<<endl; • cout<<"A ?"; cin>>a; • Dua(a, &b); • cout<<b<<endl; • Dua(a+5,&b); • cout<<b; • system("pause"); } void Dua(int x, int *y) { x=x+1; *y=x+3; }

  14. Example Prosedurdengan Parameter Output Procedure HitungRataRata (input n :integer, output u : real) {Menghitung rata-rata dengan parameter output } Deklarasi x : integer k : integer jumlah : integer Deskripsi jumlah 0 for k1 to N do read(x) jumlahjumlah +x end for u jumlah/N AlgoritmaRataRataBilanganBulat {program utama} Deklarasi Procedure HitungRataRata (input n :integer , output u : real) Ndata : integer Rata : real Deskripsi read(Ndata) HitungRataRata(Ndata,Rata) write(rata)

  15. Prosedurdengan Parameter Input/Output Procedure Tiga (input/output x:integer) {Contoh parameter input/output} Deklarasi {tidakada} Deskripsi x  x+10 write(‘Nilai X setelahakhirprosedurTiga’) write(‘ x = ’ , x) AlgoritmaContohTiga {program utama} Deklarasi Procedure Tiga (input/output x:integer) a : integer Deskripsi a15 write(‘Nilai a sebelumpemanggilan’) write(a) Tiga(a) write(‘Nilai a sesudahpemanggilan’) write(a) • #include<iostream> using namespace std; • void Tiga(int *x); • void main() • { a=15; • cout<<"Nilai A sebelum pemanggilan\n"; • cout<<"A = "<<a<<endl; • Tiga(&a); • cout<<"Nilai A sesudahpemanggilan\n"; • cout<<"A = "<<a<<endl; system("pause"); } void Tiga(int *x) { *x=*x+30; cout<<"Nilai X setelahakhirprosedurTiga\n"; cout<<"x = "<<*x<<endl; }

  16. Latihan AlgoritmaSegi_Empat {Program untukmenampilkan menu perhitungansegiempat (luas,kelilingdanpanjang diagonal )} Deklarasi NomorMenu,p,l : integer ProcedureHitungLuas ProcedureHitungKeliling(input panjang: integer , inputlebar : integer) Deskripsi write(‘ Menu SEGIEMPAT’) write(‘ 1. HitungLuas ‘) write(‘ 2. HitungKeliling’) write(‘ Masukkannomorpilihan (1/2) ‘) read(pil) case(pil) 1 : HitungLuas 2 : read(p,l) HitungKeliling(p,l) endcase BuatlahprosedurHitungLuasdanHitungKeliling ! ! ! ! !

  17. Thank You!

More Related