ANALISA STRUKTUR PROGRAM LANJUTAN I. Struktur Program A. Struktur Berurutan (Sequence Structure) Struktur Berurutan adalah struktur program yang paling sederhana. Setiap baris program akan dikerjakan secara urut dari atas ke bawah maka hanya ada satu cara memulainya yaitu dari bagian atas, dan cara untuk keluarnya yaitu dari bagian bawah. Start Baris Program Baris Program Baris Program Selesai Contoh Program Struktur berurutan menghitung luas empat persegi panjang Program persegi panjang; Uses crt; Var luas,panjang,lebar:integer; Begin clrscr; write(‘Masukan Panjang:’); Readln(panjang); write(‘Masukan Lebar:’); Readln(Lebar); Luas:=Panjang * Lebar; writeln(‘luas Persegi Panjang: ‘, Luas); Readln; End. B. Struktur Seleksi(Selection Structure) Struktur seleksi untuk melakukan proses pengujian pada kondisi dalam mengambil suatu keputusan. Kondisi adalah suatu syarat yang mempunyai nilai True dan False. Contoh bentuknya adalah sebagai berikut : ................ ................ Begin Perintah 1; If Kondisi Then Perintah 2; Else Perintah 3; ................... ................... End. Ada beberapa macam struktur instruksi IF atau Sruktur Seleksi yaitu : 1. Statement/perintah IF ... THEN ( Seleksi Tunggal ) Bentuk umumnya IF <kondisi> THEN Begin ............ ............ End. Start Kondi si Perintah 1 Selesai Contoh Program Seleksi if then menentukan bilangan positif) Program Bilpositif; Uses crt; Var bil:integer; Begin write(‘Masukan sebuah bilangan:’); Readln(bil); if bil>0 then writeln(‘Bilangan Positif’’); Readln; End. 2. Statement/Perintah IF ... THEN ... ELSE Bentuk Umumnya IF <kondisi> THEN Begin ............ ............ End; Else Begin ............ ............ End. Start Kondi si True Perintah 1 False Perintah 2 Selesai Contoh Program Seleksi if-then-else menentukan bilangan positif atau negatif Program Bilpositif; Uses crt; Var bil:integer; Begin write(‘Masukan sebuah bilangan:’); Readln(bil); if bil>0 then writeln(‘Bilangan Positif’’); else wiriteln(‘Bilangan Negatif’); Readln; End. 3. Statement/Perintah IF ... THEN ... ELSE IF Bentuk umumnya : IF <kondisi> Then Begin .......... .......... End Else If <kondisi2> Then Begin .............. .............. End; Start Kondis i1 True Perintah 1 False Kondis i2 False True Perintah 2 Kondis i3 False True Perintah 3 Perintah 4 Selesai Contoh Program Seleksi if-then-else if menentukan nilai mahasiswa) Uses crt; Var NA:integer;Grade: Char; Begin write(‘Masukan Nilai Akhir:’); Readln(NA); if NA<=45 then Grade :=‘E’ else if NA<=55 then Grade :=‘D’ else if NA<=70 then Grade :=‘C’ else if NA<=84 then Grade :=‘B’ else Grade := ‘A’; wiriteln(‘Nilai grade anda =‘, Grade); End. Selain menggunakan instruksi IF, Struktur Seleksi juga dapat menggunakan instruksi CASE ... OF (Seleksi Ganda). Untuk masalah tertentu instruksi Case...Of lebih memberi kejelasan dibandingkan dengan instruksi IF. Bentuk umum dari CASE ..OF Case ungkapan Of Daftar label 1 : perintah 1; Daftar label 2 : perintah 2; Daftar label 3 : perintah 3; .......................... End; End; Start Nilai pemilih pada daftar konst 1 True Perintah 1 False Nilai pemilih pada daftar konst 2 True Perintah 2 False Nilai pemilih pada daftar konst 3 True Perintah 3 False Pernyataan yang mengikuti else End Contoh Program Seleksi Case .. of menentukan Grade mahasiswa) Uses crt; Var NA:integer;Grade: Char; Begin write(‘Masukan Nilai Akhir:’); Readln(NA); 0..45 :Grade :=‘E’ 46..55 : Grade :=‘D’ 56..70 : Grade :=‘C’ 71..84 : Grade :=‘B’ 85.100 : Grade :=‘A’ end; writeln(‘Nilai grade anda =‘, Grade); End. C. Struktur Perulangan ( Looping Structure ) Struktur perulangan akan melakukan proses berulang ulang selama selama Kondisi bernilai True atau selama kondisi perulangan terpenuhi. Dan Kondisi akan berhenti jika hanya keadaan berubah menjadi false atau kondisi perulangan tidak terpenuhi. Struktur Perulangan terdiri dari : 1. FOR .. DO Bentuk umumnya perulangan yang menaik: For {Batas Awal} To {Batas Akhir} DO Begin {Statement 1}; {Statement 2}; ----------------------------------{Statement N}; End; contoh: For I;=1 to 5 do Begin writeln(‘BINA SARANA INFORMATIKA’); End. Bentuk umumnya perulangan yang menurun: For {Batas Awal} DownTo {Batas Akhir} DO Begin {Statement 1}; {Statement 2}; ----------------------------------{Statement N}; End; Start Tentukan Nilai awal dan nilai akhir Pencacah diberi nilai sebesar nilai awal Benar Nilai Pencacah> Nilai Akhir pernyataan Nilai pencacah dinaikkan sebesar 1 Selesai contoh: For I;=5 downto 1 do Begin writeln(‘BINA SARANA INFORMATIKA’); End. 2. While .. Do Perulangan digunakan unutk melaksanakan blok statement selama kondisinya benar. Dalam perulangan ini kondisi diuji terlebih dahulu. Bentuk umum : WHILE<kondisi> Do Begin ………… ………… End; Salah Ungkapan Nalar True pernyataan Selesai contoh: I:=1 While N<=5 do Begin Writelb(‘Bina Sarana Informatika’); I ; I+ 1; End; 3. REPEAT .. UNTIL Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya perulangan (loop) dikerjakan terlebih dahulu, kemudian baru kondisi diuji. Proses akan diulang sampai suatu kondisi yang diberikan bernilai benar. Bentuk umum: REPEAT …………… …………… UNTIL<kondisi>; pernyataan Salah Ungkapan Nalar Benar contoh: I:=1 Repeat Writeln(‘Bina Sarana Informatika’); I ; I+ 1; Until I>5; Biasanya didalam pembuatan program, perulangan tidak hanya satu kali saja. Bahkan didalam sebuah perulangan terdapat perulangan yang lain. Perulangan yang terdapat dalam perulangan yang lain disebut perulangan tersarang atau Nested Loop. Contoh nested loop dengan For .. Do Var I,J : integer; Begin For I:= 1 to 5 do Begin For J:=1 to 5 Do Write(I:10, J:5); Writeln; end; end. II. Konsep Pemrograman Terstruktur Ide Pemrograman Terstruktur pertama kali di ungkapkan oleh Profesor Edsger Djikstra dari Universitas Eindhoven tahun 1965. Profesor Djikstra mengusulkan yaitu pernyataan GOTO seharusnya tidak dipergunakan di dalam pemrograman terstruktur. Pernyataan tersebut ditanggapi oleh HD. Millis bahwa pemrograman terstruktur tidak hanya dihubungkan dengan perintah GOTO tetapi oleh struktur program. Dari kesimpulan diatas maka Pemrograman Terstruktur adalah “Pemrograman terstruktur merupakan suatu tindakan untuk mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah ditest dan mudah dimodifikasi”. A. B. C. Ciri-ciri pemrograman terstruktur. 1. Mengandung teknik pemecahan masalah yang tepat dan benar 2. Memiliki algoritma pemecahan masalah yanag sederhana, 3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami 4. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan, struktur seleksi dan struktur perulangan. 5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik. 6. Biaya pengujian yang dibutuhkan rendah. 7. Memliki dokumentasi yang baik 8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah. standar da efektif. Tujuan Pemrograman Terstruktur 1. Meningkatkan kehandalan program 2. Program mudah dibaca dan ditelusuri 3. Menyederhanakan kerumitan program 4. Lebih mudah dalam pemeliharaan program 5. Meningkatkan produktivitas pemrograman Compiller Dan Interpreter Source program yang telah ditulis dengan bahasa pemrograman tingkat tinggi, tidak dimengerti oleh komputer karena komputer hanya mengerti bahasa mesin. Oleh sebab itu source program harus di terjemahkan ke dalam bahasa mesin terlebih dahulu sebelum dijalankan Terdapat 2(dua) jenis penterjemah yaitu : 1. Compiller Compiller merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksiinstruksi dalam satu kesatuan modul ke dalam bahasa mesin sehingga dihasilkan suatu file executable. 2. Interpreter Interpreter merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksi demi instruksi pada saat eksekusi program. III. Debugging Dan Bentuk Kesalahan program Debugging adalah penghilangan semua kesalahan yang ditemukan pada saat pengujian. Kesalahan terjadi karena kecerobohan desain logika dan pengkodean. Adapun macam-macam bentuk kesalahan program yaitu · SYNTAX ERROR Bentuk kesalahan program yang disebabkan karena kesalahan didalam hal penulisan instruksi didalam program. Contoh. - Writ ( dalam bahasa PASCAL ) - Use ( dalam bahasa PASCAL ) - dan lain-lain · RUN TIME ERROR Bentuk kesalahan program yang disebabkan karena adanya proses arithmathic yang ILLEGAL / tidak bisa diproses. Contoh. -B=(0/3) - Akar Minus - dan lain-lain · LOGIC ERROR Bentuk kesalahan program yang disebabkan karena HUMAN-ERROR-LOGIC (kesalahan logika program yang dibuat oleh programmer) Contoh. - Hasil / output program yang tidak sesuai - Kesalahan program yang tidak dapat dideteksi - dan lain-lain