Algoritma dan Struktur Data 1
Ilustrasi Perulangan Misalkan programmer perlu menuliskan kalimat sebanyak 5 kali !!!! Tanpa Perulangan Dengan perulangan cout<<“ Hello World \n”; for(int i=1;i<=5;i++) {cout<<“Hello World \n”;}
Struktur Perulangan pengulangan (loop) adalah suatu pekerjaan yang dilakukan secara berulang-ulang sampai kondisi tertentu. Digunakan untuk menghasilkan pengulangan sejumlah kali yang dispesifikasikan Terdapat variabel pencacah (counter) yang nilainya bertambah satu setiap kali pengulangan Pengulangan berhenti jika sudah mencapai jumlah yang dispesifikasikan Pencacah haruslah tipe data yang memiliki predecessor atau successor yaitu integer atau karakter. Tipe real(float/double) tidak dapat digunakan
For Menaik Algoritma : C++ : Flowchart for peubah nilai_awal to nilai_akhir do aksi End for C++ : for (variabel = nilai_awal; variabel<=nilai_akhir; variabel++) { statemen1 ; statemen2 ; . . . } Flowchart NOTE : menggunakan sifat perhitungan dari kecil membesar (naik) nilai awal lebih kecil dari nilai akhir.
For Menaik Contoh algoritma : {menampilkan suatu string Algoritma Menampilkan_String {menampilkan suatu string sebanyak lima kali, menggunakan pengulangan FOR } DEKLARASI n : integer DESKRIPSI : for n 1 to 5 do write (‘perulangan ke - ’, n) endfor
For Menurun Contoh Flowchart Algoritma : for peubah nilai_awal downto nilai_akhir do aksi Endfor C++ : for (variabel = nilai_awal; variabel>=nilai_akhir; variabel--) { statemen1 ; statemen2 ; . . . } Contoh Flowchart Contoh algoritma : Algoritma Peluncuran_Roket {menghitung mundur peluncuran roket } DEKLARASI n : integer DESKRIPSI : for n 100 downto 1 do write ( n ) endfor
Contoh Penjumlahan Deret Algoritma penjumlahan deret {menjumlahkan deret bilangan 1 + 2 + 3 + ….+ N Dengan N adalah bilangan bulat positif yang diinput. Output berupa jumlah. } DEKLARASI N : integer k : integer jumlah : integer DESKRIPSI Read(N) Jumlah 0 For k1 to N do Jumlah jumlah + k Endfor Write(jumlah)
For Bertingkat (For di dalam For) Buatlah program dengan input dari piranti masukan yaitu bilangan bulat dengan tampilan sebagai berikut : N=1 N=2 N=3 N=4 N=5 * * * * * ** ** ** ** *** *** *** **** **** *****
For Bertingkat (For di dalam For) Algoritma Tampil_Segitiga {Menampilakan Segitiga siku siku dengan input dari piranti masukan yaitu bilangan bulat} DEKLARASI N : integer a : integer b : integer DESKRIPSI Read(N) Jumlah 0 For a1 to N do For b1 to a do write(’*’) Endfor write (\n)
Struktur Perulangan WHILE Flowchart Algoritma : While <kondisi> do aksi End While C++ : While <kondisi> { <aksi> } KONDISI BENAR TIDAK Statement EXAMPLE Algoritma Cetak_Angka {Mencetak Angka 1 -9 dengan menggunakan struktur perulangan while…. Do} DEKLARASI k: integer DESKRIPSI k1 While k ≠ 10 do write(k) kk+1 EndWhile START C++ int k; K=1; while (k != 10) { cout<<i; } k=1 k ≠ 10 T Y write k END k=k+1
Struktur Perulangan IF di dalam WHILE Tampilkan semua bilangan kelipatan 3 antara bilangan 1-99 dengan menggunakan struktur perulangan while ! START Algoritma Cetak_Angka {Mencetak Angka 1 -99 dengan menggunakan struktur perulangan while…. Do} DEKLARASI k,HTiga: integer DESKRIPSI k1 HTiga 0 While k ≠ 100 do if k mod 3 = 0 then HtigaHTiga+1 Endif kk+1 EndWhile write(HTiga) k=1 Htiga=1 k ≠ 100 T write Htiga Y K mod 3 =0 T END Y HtigaHtiga+1 k=k+1
LATIHAN Tuliskan output dari pseudocoe di bawah ini jumlah5 For k5 to 9 do jumlah jumlah *2 write(jumlah) Endfor b1 For a1 to 4 do b (b+1)*a write(b) bb +2 Write(b)
LATIHAN Buatlah pseudocode dan flowchart untuk program password dengan menggunakan struktur perulangan while. .Password digunakan adalah tipe data string dengan sandi lewat/ password = “qwerty” !!! #include<string> #include<iostream> using namespace std; void main() { string password; cout<<"Masukkan Password : "; cin>>password; while (password != "SI") cout<<"Password SALAH "<<endl; cout<<"Masukkan Password :"; } cout<<"Password Anda BENAR"; system("pause");
LATIHAN Buatlah program untuk menampilkan kalimat “ STMIK MDP ” Berulang-ulang selama user program menginput huruf “Y” !!! #include<iostream> #include<string> using namespace std; void main() { string ulang; ulang="y"; while ((ulang == "y") || (ulang=="Y")) cout<<"STMIK MDP "<<endl; cout<<"ULANG ? :"; cin>>ulang; } cout<<"EXIT APLIKASI...... \n"; system("pause");
Special thanks for this slide Thank You! 15 Special thanks for this slide Gasim,Josie,Yoannita, and 2 my friends n familly