1 / 29

PEMROGRAMAN TERSTRUKTUR

PEMROGRAMAN TERSTRUKTUR. Oleh Munawar Asikin. SISTEMATIKA MATERI. Konsep pemrograman secara umum : Perkembangan pemrograman komputer Sejarah bahasa pemrograman Jenis bahasa pemrograman Perbandingan bahasa pemrograman Ide Pemrograman terstruktur : Defenisi , Tujuan , Kriteria

guri
Télécharger la présentation

PEMROGRAMAN TERSTRUKTUR

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. PEMROGRAMAN TERSTRUKTUR Oleh MunawarAsikin

  2. SISTEMATIKA MATERI • Konseppemrogramansecaraumum : • Perkembanganpemrogramankomputer • Sejarahbahasapemrograman • Jenisbahasapemrograman • Perbandinganbahasapemrograman • IdePemrogramanterstruktur : Defenisi, Tujuan, Kriteria • Metodadasarpemrogramanterstruktur GOTOLess: Sekuensial, Selection, Looping • Perbandinganbahasapemrograman • (Berdasarkankriteriapemrogramanterstruktur) • Metodadesainpemrogramanterstruktur Modular, TopDown,… • OOP, Pemrogramanberorientasiobjek • (Lebihterstukturdariidepemrogramanterstruktur ?) • Strukturpemrograman visual

  3. KonsepPemrograman • Mem-program komputer, secarateknisbertujuan : • Memasukkan/ menyusunsejumlahinstruksidan data ke memory, yang selanjutnyaakandiambilsatupersatuoleh CPU/Processor untukdilaksanakan Perkembangan (cara) mem-program komputer : • Pemrogramandenganmengatur/menyambungtitik jumper dirangkaiankomputer • Pemrogramandenganlangsungmenuliskodebinerke memory, direpresentasikanmelaluikodehexa, kodebinerdisebutjugabahasamesinkomputer • Pemrogramandenganbahasa assembler : Perintah-perintahnyaberkaitanlangsungdenganstruktur internal hardware • Pemrogramandenganbahasatingkattinggi/menengah : Perintah-perintahnyamiripdenganbahasamanusia/english

  4. Ilustrasi Pemrograman Komputer 0001 ………. 0002 ………. ………. 00011100 0100 00000101 0101 00111101 0102 00010010 0103 00101101 ………. ………. ………. Susunan instruksi dan data dalam memory Instruksi A Programmer Data D Instruksi D Tool Instruksi B Instruksi C Data A Sejumlah Instruksi dan data CPU High/Medium Level Hexa Assembly 3C 05 3D 12 2D Mov A,05 Mov B,12 Add A,B A = 05 + 12

  5. SejarahbahasaPemrograman

  6. GenerasidanJenisBahasaPemrograman • Generasibahasapemrograman: • Generasi I : machine language • Generasi II : assembly language : Asssembler • Generasi III : high-level programming language: C, PASCAL, dsb. • Generasi IV : 4 GL (fourth-generation language): Prolog, SQL, Visual tool, dsb • Jenisbahasapemrogramanberdasarkanbentuk (corakkode) nya : • Pemrogramanprosedural : Pascal, C, • Pemrogramanfungsional : Lisp • Pemrogramandeklaratif : Prolog • Pemrogramanberorientasiobjek : Java • Pemrogramanproseduralsekaligusberorientasiobjek : C++ • Jenisbahasapemrogramanberdasarkanmetodanya : • Pemrogramantidakterstruktur : Basica, Fortran, … • Pemrogramanterstruktur : Pascal, C/C++, … • Pemrogramanberorientasiobjek : C++, Java, … • Pemrograman visual : VB, Delphi, … • Jenisbahasapemrogramanberdasarkantujuan (hasil) : • Pemrograman stand-alone • Pemrograman client/server • Pemrograman web : HTML, Script • Pemrogramanjaringan • Jenisbahasapemrogramanberdasarkancarapenterjemahan : • Interpreter : Basica, Foxpro, Matlab,… • Compiler : Turbo Basic, Pascal, C/C++, …

  7. Jenis Program Bahasa PerbandinganBahasaPemrograman(Umum) Bahasa Terbaik Rasio Bahasa Terburuk Data terstruktur Assembler ADA, C /C++, PASCAL 1: 1 Assembler, BASIC ADA Proyek cepat BASIC 1 : 4.5 PASCAL, ADA, Assembler Eksekusi cepat Quick / Turbo / Basic Assembler, C 1 : 5 BASIC, Intrepreter Language Kalkulasi matematika C FORTRAN 1 : 2.5  PASCAL FORTRAN Menggunakan memori dinamis PASCAL, C  1 : 3 BASIC  Lingkungan bermemori terbatas PASCAL BASIC, Assembler, C 1 : 3.5 FORTRAN Program real-time ADA, Assembler, C BASIC, FORTRAN Manipulasi string BASIC, PASCAL C Program mudah dikelola PASCAL, ADA C, FORTRAN Berdasarkan tujuan tertentu : Berdasarkanjumlahinstruksidibandingkandengan assembler

  8. ProsesPembuatanAplikasi

  9. Simbol-simboluntukmenggambarkan Flow Chart Digunakanuntukproses yang detailnyadijelaskanterpisah, misalkanuntukmenyatakanprosedur, atau sub program Digunakan untuk menunjukkan awal dan akhir program Digunakanuntukmemberikannilaiawal (inisial) padasuatuvariabelatau counter Digunakanuntukhubunganarusproses yang terputusmasihdihalaman yang sama Digunakan untuk proses, pengolahan arithmatik, dan pemindahan data Digunakanuntukhubunganarusproses yang terputusdihalaman yang berbeda Digunakan untuk mewakili operasi perbandingan logika yang dibutuhkan pada Selection dan Looping Digunakanuntukmenghubunganantarsimbol/elemen yang lain dansekaligusmenyatakanarahaliran Digunakan untuk menyatakan operasi memasukkan data/input dan menampilkan data/output

  10. Ide Pemrograman terstruktur Idepemrogramanterstrukturmunculkarenajumlahbaris program semakin lama semakinbesar, tentusajahaliniterjadikarenadiinginkanaplikasi yang lengkapdanlebihberkualitas Denganidepemrogramanterstrukturdiharapkandapatmembantumanajemensource code(kode program) sehingga program mudahuntukdikelolabagikepentinganselanjutnya Tujuanutamapemrogramanterstrukturadalah : agar program-program besarmenjadilebihmudahditelusurialurlogikanya, mudahuntukdimodifikasi (dikembangkan) danmudah pula untukditemukanbagian yang salahketika program sedangdiuji. Pemrogramanyaituaktivitasmembuat program, yaitumenyusunsejumlahperintah yang dikenalkomputer Terstrukturdapatberartiterpola, bentuk yang mengikutiaturantertentu, jugaberartisesuatu yang sistematis Orangpertama yang mencetuskanidepemrogramanterstrukturadalahProfesorEdsger W. Dijkstradari University of Eindhoven, Nederland. Ideutamanyaadalahbahwastatemen GOTO sebaiknyatidakdigunakandidalampemrogramanterstruktur, sebabbisamembuat program menjadiruwet. Ideiniditanggapioleh HD Milis, yang beranggapanbahwapemrogramanterstruktursemestinyatidakhanyadihubungkandengantanpapenggunaan GOTO, tetapi yang lebihutamaadalahstruktur program itulah yang menentukanapakahsuatupemrogramanterstrukturatautidak • Kriteriapemrogramanterstruktur : • Strukturprogramnya; jelasdantegas • Fasilitaspenulisankode program; jelasdantegas • Statemenuntukkebutuhan Selection dan Looping; lengkap • Fasilitasmenyatakanberbagai type data (struktur data); lengkapdantegas • Fasilitaspemberiankomentar; lengkap • Fasilitasinstruksi yang tersedia (operasiarithmatik/matematik, string, …); lengkap • Fasilitas modular (baik internal maupuneksternal); lengkap • Fasilitas debugging, mudahdanjelas

  11. Filosofis Terstruktur a b c d • Mana yang susunannyaterstruktur (teratur, …) • Mana yang lebihmudahandahafalkan • Jikaakanditambahsatubatanglagi, dimanaharusdiletakkan agar posisinyadapatdinilaibenar • Jikasusunannyadirombak, mana yang lebihmudahuntukdisusunkembali

  12. Metoda dasar pemrograman terstruktur • Ideawalpenerapanpemrogramanterstrukturyaitudenganmenghindaripenggunaan GOTO untukmelompatkebagian program tertentu • Kegunaan GOTO untukmelompatkebaris program tertentu, secaraumumdapatdibagikedalam 2 kelompok : • Melompatkebagianbawah program dariposisi program saatini • Melompatkebagianatas program dariposisi program saatini • Untukitudalampemrogramanterstrukturhanyadikenal 3 struktur : • Sekuensial, yaitu program yang tidakmemilikilompatan. Baris program dijalankansecara normal (lurus) satu per-satudariataskebawah • Selection, yaitu program yang memilikipilihanapakahharusmenjalankanbaris program sesuaidenganurutannyaataumelompatisejumlahbaris program tersebut • Looping, yaitu program yang jugamengandungpilihanapakahakanmengulangi program yang sudahpernahdijalankansebelumnyaatautidak Denganpemrogramanterstruktur; Jikaadakebutuhanmelompatkebagianbawah, dapatdigantikandenganperintah Selection (If, Case, Select, Switch,…) Jikaadakebutuhanmelompatkebagianatas, dapatdigantikandenganperintah Looping (for, While, repeat-until,…) Prinsiputamanyaadalah, program tidakbolehmelompatkeatas, kecualiuntukkeperluanpengulangan

  13. Beberapa bentuk logika terstruktur dengan flow chart 1. Struktur urut sederhana (Simple sequence) 3. Struktur 2 pilihan dengan IF-THEN-ELSE 2. Struktur 1 pilihan dengan IF-THEN

  14. Lanjutan : 4b. Struktur banyak pilihan dengan CASE 4a. Struktur banyak pilihan dengan IF-THEN-ELSEIF

  15. Lanjutan : 5. Struktur perulangan FOR 6. Struktur perulangan WHILE For 7. Struktur perulangan UNTIL

  16. Statemen kontrol terstruktur : menyembunyikan goto IF-THEN Proses1 If {kondisi=false } then goto lompat Proses1a Lompat: Proses2 Proses 1 Kondisi true Proses1 If {kondisi } then Proses1a End if Proses2 false Proses 1a Proses 2 Analisa : Jika kondisi=true, urutan pelaksanaan : Proses1 Proses1a Proses2 Jika kondisi=false, urutan pelaksanaan : Proses1 Proses2

  17. Lanjutan menyembunykan goto Proses1 If {kondisi=true } then goto lompat1 else goto lompat2 Lompat1: Proses1b goto lompat3 Lompat2: Proses1a Lompat3: Proses2 IF-THEN-ELSE Proses 1 Kondisi true Proses1 If {kondisi=true } then Proses1b else proses1a end if Proses2 false Proses 1b Proses 1a Proses 2 Analisa : Jika kondisi=false, urutan pelaksanaan : Proses1 Proses1a Proses2 Jika kondisi=true, urutan pelaksanaan : Proses1 Proses1b Proses2

  18. Lanjutan menyembunykan goto IF-THEN-ELSE-IF Proses1 If {kondisi1=true } then goto lompat1 If {kondisi2=true } then goto lompat2 If {kondisi3=true } then goto lompat3 Goto lompat4 Lompat1: Proses2a goto habis Lompat2: Proses2b goto habis Lompat3: Proses2c goto habis Lompat4: proses2d Habis: proses3 Proses1 If {kondisi1=true } then Proses2a else if {kondisi2=true } then Proses2b else if {kondisi3=true } then Proses2c else Proses2d end if Proses3 Proses 1 Kondisi1 true Proses 2a false Kondisi2 Proses 2b Proses1 Case of var Kondisi1: Proses2a Kondisi2: Proses2b Kondisi3: Proses2c else Proses2d end case Proses3 Kondisi3 Proses 2c Proses 2d Proses 3

  19. Lanjutan menyembunykan goto Looping : FOR For I=1 to 5 Proses 1 Proses 2 Next I Proses 3 FOR I=1 to 5 Proses1 Proses2 I=1 Ulang : Proses1 Proses2 I=I+1 If I<=5 then goto Ulang Proses3 Proses3

  20. Lanjutan menyembunykan goto Looping : WHILE While {kondisi=true} Proses 1 Proses 2 Wend Proses 3 While {kondisi} Proses1 Ulang : If {kondisi=true} then Proses1 Proses2 goto Ulang Proses3 Proses2 Proses3

  21. Lanjutan menyembunykan goto Looping : UNTIL do Proses 1 Proses 2 Loop Until {kondisi=true} Proses 3 Proses1 Proses1 Ulang : Proses1 Proses2 If {kondisi=true} then goto Ulang Proses3 Until {kondisi} Proses3

  22. Contoh flow chart dengan kontrol lengkap : start C=2 C=C=1 C>12 end

  23. Contoh flow chart dengan beberapa lompatan tidak terstruktur : • Lompatan tidak terstruktur : • Melompat ke bagian yang belum tentu dilewati • Melompat keluar dari daerah induknya start end

  24. Struktur Data danPemrogramanterstruktur • Bahasapemrogramandengankemampuanmeng-ekspresi-kansemuakebutuhanstruktur data akanlebihmendukungpencapaiantujuandaripemrogramanterstruktur • Bahasapemrograman yang tidakmemilikifasilitasuntukmengungkapkanstruktur data tertentucendrungmengarahkankode program kebentuk yang kurangteratur • Kemampuanstruktur data suatubahasapemrogramanditentukanolehkemampuanfasilitas type data yang dimilikinya • Type data secaraumumterdiridari : • Type data dasarstandar : Integer, real, string, charakter, dan logic • Type data dasartidakstandar : sub range, enumerate • Type data majemuk : set, array, record, file • Type data dinamis : pointer

  25. MetodaDesainPemrogramanTerstruktur Untuk membantu dan menjamin dihasilkannya program yang terstruktur, dapat digunakan beberapa metoda/alat berikut : • Metode Perancangan Top-down • Metada Perancangan Modular • Implementasi internal : Procedure/Subprogram, Function • Implementasi eksternal : file Unit/Header/Modul • Diagram Nassi-Schneiderman • Tabel Decision

  26. Metode Perancangan Top-down Masalah Besar Sub Masalah A Sub Masalah B Sub Masalah C Sub Masalah A2 Sub Masalah A1 Masalah utama B C A A1 A2 Strategi umum dalam penyelesaian masalah besar; kompleks; rumit

  27. Metode Modular : Implementasi Top-down Bagian Utama A A1 ……. Call A1 ……. Call A2 …….. ……. ……. …….. Call A …….. Call B …….. Call C …….. B A2 ……. ……. ……. ……. C ……. ……. • Dapat diterapkan secara : • - Internal : sub program, procedure, function • - Eksternal : file unit, header, modul

  28. Diagram Chart Nassi-Schneiderman Statemen1 While kondisi Statemen2 proses2 Stateme3 proses2 Until kondisi Contoh : if ya tdk Mulai Masukkan Nilai koefisien A proses1 Masukkan Nilai koefisien B Masukkan Nilai Koefisien C D = B*B-4*A*C if ya tdk D<0 ya tdk proses1 proses2 D=0 ya tdk Imajiner Real berbeda Real sama

  29. TERIMA KASIH • munawar@stis.ac.id

More Related