Pemrograman Terstruktur

49
Pemrograman Pemrograman Terstruktur Terstruktur Erik Perdana Ibrahm, S.KOM, M.M 2013/ 2014

description

Pemrograman Terstruktur. STMIK PRANATA KARAWANG. Erik Perdana Ibrahm , S.KOM, M.M 2013/ 2014. Terus apapula program or pemrograman itu? Sedangkan Terstruktur sendiri apa? Jadi Teknik Pemrograman Terstruktur adalah? Ngapain juga kita harus belajar yang satu ini? - PowerPoint PPT Presentation

Transcript of Pemrograman Terstruktur

Page 1: Pemrograman Terstruktur

Pemrograman TerstrukturPemrograman Terstruktur

Erik Perdana Ibrahm, S.KOM, M.M

2013/ 2014

Page 2: Pemrograman Terstruktur

04/22/23

 

Terus apapula program or pemrograman itu?Terus apapula program or pemrograman itu?

Sedangkan Terstruktur sendiri apa?Sedangkan Terstruktur sendiri apa?

Jadi Teknik Pemrograman Terstruktur adalah?Jadi Teknik Pemrograman Terstruktur adalah?

Ngapain juga kita harus belajar yang satu ini? Ngapain juga kita harus belajar yang satu ini?

Lagian banyak mahasiswa Informatika yang Lagian banyak mahasiswa Informatika yang kadang suka dibuat BeTe ma programming kadang suka dibuat BeTe ma programming

malahan lebih parah lagi banyak yang malahan lebih parah lagi banyak yang ”kepaksa” harus rajin mengulang, so kenapa ”kepaksa” harus rajin mengulang, so kenapa

kita harus ikutan terlibat ribet juga?kita harus ikutan terlibat ribet juga?

Terus apapula program or pemrograman itu?Terus apapula program or pemrograman itu?

Sedangkan Terstruktur sendiri apa?Sedangkan Terstruktur sendiri apa?

Jadi Teknik Pemrograman Terstruktur adalah?Jadi Teknik Pemrograman Terstruktur adalah?

Ngapain juga kita harus belajar yang satu ini? Ngapain juga kita harus belajar yang satu ini?

Lagian banyak mahasiswa Informatika yang Lagian banyak mahasiswa Informatika yang kadang suka dibuat BeTe ma programming kadang suka dibuat BeTe ma programming

malahan lebih parah lagi banyak yang malahan lebih parah lagi banyak yang ”kepaksa” harus rajin mengulang, so kenapa ”kepaksa” harus rajin mengulang, so kenapa

kita harus ikutan terlibat ribet juga?kita harus ikutan terlibat ribet juga?

Page 3: Pemrograman Terstruktur

04/22/23

Sebenernya semua mesin / alat-alat elektronik bakalan mengerjakan sesuatu setelah kita beri instruksi atau perintah, caranya gimana?

Mari kita coba liat asal-usulnya.Sudah kenal dengan yang namanya komputer?? Banyak hal yang bisa dilakuin dengan bantuan komputer, apa aja??

Nha si komputer ini sebenernya adalah suatu mesin, dan yang namanya mesin tidak bisa kerja / melakukan sesuatu kalau tidak diberi perintah atau instruksi. Ga percaya?

Coba temen-temen naek lift trus treakin tuh lift ”Hoi Lift ke lantai 5..?” dijamin tuh lift tidak akan naek, kenapa?

Ya iyealah lha wong liftnya lagi di lantai 6, kan harusnya bilang turun bukan naek…???

Cari aja tombol-tombol yang ada di tuh mesin, terus pencetin satu-satu liat apa yang terjadi…????

Page 4: Pemrograman Terstruktur

04/22/23

Definisi Komputer Definisi Komputer

Komputer merupakan suatu perangkat elektronika yang dapat menerima dan mengolah data menjadi informasi, menjalankan program yang tersimpan dalam memori, serta dapat bekerja secara otomatis dengan aturan tertentu.

Sistem KomputerSistem Komputer

Sebuah sistem komputer tersusun atas tiga elemen, yaitu 1. Hardware (Perangkat Keras), merupakan rangkaian

elektronika

2. Software (Perangkat Lunak), merupakan program yang dijalankan pada komputer

3. Brainware (SDM)

Definisi Komputer Definisi Komputer

Komputer merupakan suatu perangkat elektronika yang dapat menerima dan mengolah data menjadi informasi, menjalankan program yang tersimpan dalam memori, serta dapat bekerja secara otomatis dengan aturan tertentu.

Sistem KomputerSistem Komputer

Sebuah sistem komputer tersusun atas tiga elemen, yaitu 1. Hardware (Perangkat Keras), merupakan rangkaian

elektronika

2. Software (Perangkat Lunak), merupakan program yang dijalankan pada komputer

3. Brainware (SDM)

Komputer…

Page 5: Pemrograman Terstruktur

04/22/23

1.1. ProcessorProcessor, merupakan bagian dari perangkat keras komputer yang melakukan pemrosesan aritmatika dan logika serta pengendalian operasi komputer secara keseluruhan. Prosesor terdiri atas dua bagian utama, yaitu ALU (Arithmetic Logic Unit) dan Control Unit.

2.2. MemoryMemory, dipergunakan untuk menyimpan data dan instruksi dari program yang sedang dijalankan. Biasa juga disebut sebagai RAM

3. Input-Output DeviceInput-Output Device, merupakan bagian yang berfungsi sebagai penghubung antara komputer dengan lingkungan di luarnya.

1.1. ProcessorProcessor, merupakan bagian dari perangkat keras komputer yang melakukan pemrosesan aritmatika dan logika serta pengendalian operasi komputer secara keseluruhan. Prosesor terdiri atas dua bagian utama, yaitu ALU (Arithmetic Logic Unit) dan Control Unit.

2.2. MemoryMemory, dipergunakan untuk menyimpan data dan instruksi dari program yang sedang dijalankan. Biasa juga disebut sebagai RAM

3. Input-Output DeviceInput-Output Device, merupakan bagian yang berfungsi sebagai penghubung antara komputer dengan lingkungan di luarnya.

HardwarePerangkat KerasPerangkat Keras (Hardware) Adalah perangkat keras untuk mendukung beroperasinya komputer. Perangkat keras komputer secara garis besar terdiri atas tiga komponen utama, yaitu:

Page 6: Pemrograman Terstruktur

04/22/23

Adalah perangkat lunak atau lebih dikenal sebagai program-program yang digunakan untuk menjalankan komputer. Bisa berupa operating system maupun program-program aplikasi. Perangkat lunak dapat diklasifikasikan sebagai berikut

Adalah perangkat lunak atau lebih dikenal sebagai program-program yang digunakan untuk menjalankan komputer. Bisa berupa operating system maupun program-program aplikasi. Perangkat lunak dapat diklasifikasikan sebagai berikut Sistem Operasi, merupakan perangkat lunak yang mengoperasikan komputer serta menyediakan antarmuka dengan perangkat lunak lain atau dengan pengguna. Contoh sistem operasi : MS DOS, MS Windows (dengan berbagai generasi), Macintosh, OS/2, UNIX (dengan berbagai versi), LINUX (dengan berbagai distribusi), NetWare, dll

Sistem Operasi, merupakan perangkat lunak yang mengoperasikan komputer serta menyediakan antarmuka dengan perangkat lunak lain atau dengan pengguna. Contoh sistem operasi : MS DOS, MS Windows (dengan berbagai generasi), Macintosh, OS/2, UNIX (dengan berbagai versi), LINUX (dengan berbagai distribusi), NetWare, dll

Program Utilitas, merupakan program khusus yang berfungsi sebagai perangkat pemeliharaan komputer, seperti anti virus, partisi hardisk, manajemen hardisk, dll. Contoh produk program utilitas : Norton Utilities, PartitionMagic, McAfee, dll

Program Utilitas, merupakan program khusus yang berfungsi sebagai perangkat pemeliharaan komputer, seperti anti virus, partisi hardisk, manajemen hardisk, dll. Contoh produk program utilitas : Norton Utilities, PartitionMagic, McAfee, dll

Software

Page 7: Pemrograman Terstruktur

04/22/23

Bahasa Pemprograman, merupakan perangkat lunak untuk pembuatan atau pengembangan perangkat lunak lain. Bahasa pemprograman dapat diklasifikasikan menjadi tingkat rendah, tingkat sedang, dan tingkat tinggi. Pergeseran dari tingkat rendah ke tinggi menunjukkan kedekatan dengan ‘bahasa manusia’. Bahasa tingkat rendah (atau biasa disebut bahasa assembly) merupakan bahasa dengan pemetaan satu persatu terhadap instruksi komputer.

Bahasa Pemprograman, merupakan perangkat lunak untuk pembuatan atau pengembangan perangkat lunak lain. Bahasa pemprograman dapat diklasifikasikan menjadi tingkat rendah, tingkat sedang, dan tingkat tinggi. Pergeseran dari tingkat rendah ke tinggi menunjukkan kedekatan dengan ‘bahasa manusia’. Bahasa tingkat rendah (atau biasa disebut bahasa assembly) merupakan bahasa dengan pemetaan satu persatu terhadap instruksi komputer.

Contoh bahasa tingkat tinggi : Pascal, BASIC, Prolog, Java,Delphi dll.Contoh bahasa tingkat tinggi : Pascal, BASIC, Prolog, Java,Delphi dll.Contoh bahasa tingkat menengah : bahasa C.

Bahasa tingkat rendah : Assembler, binerisasi

Contoh bahasa tingkat menengah : bahasa C.

Bahasa tingkat rendah : Assembler, binerisasi

Software

Page 8: Pemrograman Terstruktur

80% DARI TUGAS PEMROGRAMAN ADALAH MEMELIHARA PROGRAM, TERMASUK MEMODIFIKASI PROGRAM YANG ADA AGAR SESUAI DENGAN YANG DIBUTUHKAN. JIKA LOGIKA DARI PROGRAM SANGAT SUKAR UNTUK DIMENGERTI, MAKA MEMELIHARA PROGRAM TERMASUK BAGIAN YANG SANGAT SUKAR UNTUK DILAKSANAKAN.

JIKA PROGRAM ASLI TIDAK DAPAT DIGUNAKAN, SESEORANG HARUS BENAR-BENAR MENGUASAI LOGIKA PROGRAM TERSEBUT SEBELUM PERUBAHAN DAPAT DILAKUKAN.

INTRODUCTION PROGRAM TERSTRUKTUR

PADA MASA AWAL: PEMROGRAMAN (1950 – 1960), KEMAMPUAN KOMPUTER MASIH SANGAT TERBATAS, BAIK KECEPATAN ATAU KAPASITAS, DAN HARGA RELATIF MAHAL

PEMROGRAM MEMBUAT PROGRAM YANG MEMBUTUHKAN MEMORI DAN WAKTU EKSEKUSI SESINGKATNYA.PROGRAMMER HARUS MENGHASILKAN SEBUAH TEKNIK DAN ALGORITMA YANG DAPAT MENGHEMAT PENGGUNAAN MEMORI MAUPUN WAKTU EKSEKUSI SEPENDEK MUNGKIN.

Page 9: Pemrograman Terstruktur

Istilah Pemrograman Terstruktur (Structured Programming) mengacu dari suatu kumpulan tehnik yang dikemukan oleh Edsger Dijkstra. Dengan tehnik ini akan meningkatkan produktifitas programmer, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write), pengujian (test), penelusuran kesalahan (debug) dan pemeliharan(maintain) suatu program.

Pemrograman Secara Modular

Dalam pemrograman secara modular, suatu program akan dipilah kedalam sejumlah modul, dimana setiap modul menjalankan fungsinya sendiri. Tentunya fungsi yang dijalankan oleh setiap modul sangat terbatas sesuai dengan ruang lingkup yang akan dikerjakan. Dengan adanya sejumlah modul program ini tentu saja kesalahan yang timbul dapat dikurangi. Setiap program tentu akan memiliki program utamanya, yang kemudian akan memanggil sejumlah modul-modul yang ada.

Page 10: Pemrograman Terstruktur

04/22/23

Materi

BAB I KONSEP PEMROGRAMAN

BAB II DASAR-DASAR PEMROGRAMAN

BAB III PENGAMBILAN KEPUTUSAN

BAB IV PENGULANGAN PROSES

BAB V FUNGSI

BAB VI ARRAY

BAB VII STRING

BAB VIII POINTER

Page 11: Pemrograman Terstruktur

Sistematika MateriSistematika Materi

• Konsep pemrograman secara umum :Konsep pemrograman secara umum :• Perkembangan pemrograman komputer• Sejarah bahasa pemrograman• Jenis bahasa pemrograman• Perbandingan bahasa pemrograman

• Ide Pemrograman terstruktur : Ide Pemrograman terstruktur : Defenisi, Tujuan, Kriteria

• Metoda dasar pemrograman terstruktur Metoda dasar pemrograman terstruktur GOTOLess : Sekuensial, Selection, Looping

• Perbandingan bahasa pemrograman Perbandingan bahasa pemrograman (Berdasarkan kriteria pemrograman terstruktur)

• Metoda desain pemrograman terstruktur Metoda desain pemrograman terstruktur Modular, TopDown,…

• OOP, Pemrograman berorientasi objek OOP, Pemrograman berorientasi objek (Lebih terstuktur dari ide pemrograman terstruktur ?)

• Struktur pemrograman visualStruktur pemrograman visual

Page 12: Pemrograman Terstruktur

Perkembangan (cara) mem-program komputer :Perkembangan (cara) mem-program komputer :

1. Pemrograman dengan mengatur / menyambung titik jumper di rangkaian komputer

2. Pemrograman dengan langsung menulis kode biner ke memory, direpresentasikan melalui kode hexa, kode biner disebut juga bahasa mesin komputer

3. Pemrograman dengan bahasa assembler : Perintah-perintahnya berkaitan langsung dengan struktur internal hardware

4. Pemrograman dengan bahasa tingkat tinggi/menengah : Perintah-perintahnya mirip dengan bahasa manusia/ english

Konsep Pemrograman

• Mem-program komputer, secara teknis bertujuan :Mem-program komputer, secara teknis bertujuan : Memasukkan / menyusun sejumlah instruksi dan data ke memory, yang selanjutnya akan diambil satu persatu oleh CPU / Processor untuk dilaksanakan.

Page 13: Pemrograman Terstruktur

CPU

Programmer Instruksi A

Instruksi DData D

Instruksi B

Data A

Instruksi C

Sejumlah Instruksi dan data

0001110000000101001111010001001000101101

……….

……….……….

……….……….

0002

01000101

……….0001

0102

0103

Susunan instruksi dan data dalam memory

Mov A,05Mov B,12Add A,B

Assembly

A = 05 + 12

High/Medium Level

3C053D122D

Hexa

Tool

Ilustrasi Pemrograman KomputerIlustrasi Pemrograman Komputer

Page 14: Pemrograman Terstruktur

04/22/23

Generasi dan Jenis Bahasa PemrogramanGenerasi dan Jenis Bahasa Pemrograman

Generasi bahasa pemrograman:• 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

Jenis bahasa pemrograman berdasarkan metodanya :

• Pemrograman tidak terstruktur : Basica, Fortran, …

• Pemrograman terstruktur : Pascal, C/C++, …

• Pemrograman berorientasi objek : C++, Java, …

• Pemrograman visual : VB, Delphi, …

Jenis bahasa pemrograman berdasarkan bentuknya :

• Pemrograman prosedural : Pascal, C,• Pemrograman fungsional : Lisp• Pemrograman deklaratif : Prolog• Pemrograman berorientasi objek :

Java• Pemrograman prosedural sekaligus

berorientasi objek : C++

Jenis bahasa pemrograman berdasarkan tujuan (hasil) :

• Pemrograman stand-alone• Pemrograman client/server• Pemrograman web : HTML, Script• Pemrograman jaringan

Jenis bahasa pemrograman berdasarkan cara penterjemahan :

• Interpreter : Basica, Foxpro, Matlab,…• Compiler : Turbo Basic, Pascal, C/C++,

Page 15: Pemrograman Terstruktur

Jenis Program Bahasa Terbaik Bahasa Terburuk

Data terstruktur ADA, C /C++, PASCAL Assembler, BASIC

Proyek cepat BASIC PASCAL, ADA, Assembler

Eksekusi cepat Assembler, C BASIC, Intrepreter Language

Kalkulasi matematika FORTRAN PASCAL

Menggunakan memori dinamis PASCAL, C BASIC

Lingkungan bermemori terbatas BASIC, Assembler, C FORTRAN

Program real-time ADA, Assembler, C BASIC, FORTRAN

Manipulasi string BASIC, PASCAL C

Program mudah dikelola PASCAL, ADA C, FORTRAN

Berdasarkan tujuan tertentu :

Perbandingan Bahasa PemrogramanPerbandingan Bahasa Pemrograman(Umum)(Umum)

Page 16: Pemrograman Terstruktur

04/22/23

Proses Pembuatan AplikasiProses Pembuatan Aplikasi

Page 17: Pemrograman Terstruktur

Contoh Proses Pembuatan Aplikasi (1) :Contoh Proses Pembuatan Aplikasi (1) :

Permasalahan 1 :

Si Upik selalu membeli buah apel untuk dibagikan ke beberapa orang anak yatim Ia kesulitan untuk membagi secara adil berapa buah apel setiap anak mendapatkan jika ia beli N buah. Karena sering ia lakukan, ia membutuhkan aplikasi untuk menghitung kebutuhan tersebut.Proses pemecahan :

Permasalahan di atas dapat disederhanakan dengan menggambarkan bagaimana dialog di layar komputer yang diharapkan terjadi terhadap aplikasi yang dibutuhkan tersebut :

Contoh dialog yang diharapkan :Aplikasi pembagian buah apel

Ketik jumlah buah apel yang dibeli : … {ENTER}

Ketik jumlah anak yang akan diberi : … {ENTER}

Solusi :

Setiap anak mendapatkan : … buah apel

Dari gambaran tersebut dapat ditentukan bahwa program membutuhkan 2 input dan 1 output.

Misal kedua input yang dibutuhkan disebut A dan N dan output disebut C.

Maka secara matematis hubungan input dan output dapat dimodelkan dengan :

C = A / N

Contoh data :

Jika A = 25 dan N = 5, maka secara manual dapat dihitung :C = 25 / 5C = 5

Urutan perhitungan tersebut (algoritma) jika dilakukan komputer adalah :

-Memasukkan nilai ke A-Memasukkan nilai ke N-Menghitung C = A / N-Mencetak hasil C

Page 18: Pemrograman Terstruktur

04/22/23

Konsep Pemrograman

Sarana komunikasi antara manusia dan komputer disebut bahasa komputer

Bahasa Pemrograman Komputer adalah tata cara penulisan program (kata, ekspresi, pernyataan) berupa langkah untuk menyelesaikan masalah

Faktor yang perlu diperhatikan adalah sintaksis, semantik dan logika

Bahasa pemrograman: tingkat tinggi, menengah dan rendah

Page 19: Pemrograman Terstruktur

Simbol-simbol untuk menggambarkan Flow ChartSimbol-simbol untuk menggambarkan Flow Chart

Digunakan untuk menunjukkan awal dan akhir program

Digunakan untuk memberikan nilai awal (inisial) pada suatu variabel atau counter

Digunakan untuk proses, pengolahan arithmatik, dan pemindahan data

Digunakan untuk mewakili operasi perbandingan logika yang dibutuhkan pada Selection dan Looping

Digunakan untuk proses yang detailnya dijelaskan terpisah, misalkan untuk menyatakan prosedur, atau sub program

Digunakan untuk hubungan arus proses yang terputus masih di halaman yang sama

Digunakan untuk hubungan arus proses yang terputus di halaman yang berbeda

Digunakan untuk menghubungan antar simbol/elemen yang lain dan sekaligus menyatakan arah aliran

Digunakan untuk menyatakan operasi memasukkan data/input dan menampilkan data/output

Page 20: Pemrograman Terstruktur

Contoh Flow Contoh Flow Chart :Chart :

Start

Masukkan data jumlah apel ke var AMasukkan data jumlah anak ke var N

C = A / N

Tampilkan : Setiap anak mendapat C apel

end

Start

Masukkan nilai koefisien A ke var AMasukkan nilai koefisien B ke var BMasukkan nilai koefisien C ke var C

A=0

Menanyakan apakah ingin menghitung lagi ? LG

end

D = b2 – 4AC

D>0

D=0

Hitung penyelesaian realDengan akar berbeda

Hitung penyelesaian realDengan akar sama

Hitung penyelesaian Bilangan imajiner

Permasalahan 1 :

Permasalahan 2 :

LG=Ya

Page 21: Pemrograman Terstruktur

Ide Pemrograman terstrukturIde Pemrograman terstrukturPemrograman yaitu aktivitas membuat, menyusun sejumlah perintah yang dikenal komputer (program).

Terstruktur dapat berarti terpola, sistematis atau bentuk yang mengikuti aturan tertentu.

Pemrograman Terstruktur berarti :…………………...……???

Orang pertama yang mencetuskan ide pemrograman terstruktur adalah Profesor Edsger W. Dijkstra dari University of Eindhoven, Nederland. Ide utamanya adalah bahwa statemen GOTO sebaiknya tidak digunakan di dalam pemrograman terstruktur, sebab bisa membuat program menjadi ruwet.

Ide ini ditanggapi oleh HD Milis, yang beranggapan bahwa pemrograman terstruktur semestinya tidak hanya dihubungkan dengan tanpa penggunaan GOTO, tetapi yang lebih utama adalah struktur program itulah yang menentukan apakah suatu pemrograman terstruktur atau tidak

Page 22: Pemrograman Terstruktur

Kriteria pemrograman terstruktur :- Struktur programnya; - Fasilitas penulisan kode program; - Statemen untuk kebutuhan Selection dan Looping; - Fasilitas menyatakan berbagai type data (struktur data); - Fasilitas pemberian komentar; - Fasilitas instruksi yang tersedia (operasi arithmatik/matematik, string, );- Fasilitas modular (baik internal maupun eksternal); - Fasilitas debugging,

Ide pemrograman terstruktur muncul karena jumlah baris program semakin lama semakin besar, tentu saja hal ini terjadi karena diinginkan aplikasi yang lengkap dan lebih berkualitas

Dengan ide pemrograman terstruktur diharapkan dapat membantu manajemen source code (kode program) sehingga program mudah untuk dikelola bagi kepentingan selanjutnya

Tujuan utama pemrograman terstruktur adalah : agar program-program besar menjadi lebih mudah ditelusuri alur logikanya, mudah untuk dimodifikasi (dikembangkan) dan mudah pula untuk ditemukan bagian yang salah ketika program sedang diuji.

Page 23: Pemrograman Terstruktur

Filosofis Terstruktur

a b c d

- Mana yang susunannya terstruktur (teratur, …)

- Mana yang lebih mudah anda hafalkan

- Jika akan ditambah satu batang lagi, dimana harus diletakkan agar posisinya dapat dinilai benar

- Jika susunannya dirombak, mana yang lebih mudah untuk disusun kembali

Prinsip utamanya adalah, program tidak boleh melompat ke atas, kecuali untuk keperluan pengulangan

Page 24: Pemrograman Terstruktur

Metoda dasar pemrograman terstrukturMetoda dasar pemrograman terstruktur

Ide awal penerapan pemrograman terstruktur yaitu dengan menghindari penggunaan GOTO untuk melompat ke bagian program tertentu

Kegunaan GOTO untuk melompat ke baris program tertentu, secara umum dapat dibagi ke dalam 2 kelompok :

1.Melompat ke bagian bawah program dari posisi program saat ini

2.Melompat ke bagian atas program dari posisi program saat iniDengan pemrograman terstruktur;

Jika ada kebutuhan melompat ke bagian bawah, dapat digantikan dengan perintah Selection (If, Case, Select, Switch,…)

Jika ada kebutuhan melompat ke bagian atas, dapat digantikan dengan perintah Looping (for, While, repeat-until,…)

Untuk itu dalam pemrograman terstruktur hanya dikenal 3 struktur :

1. Sekuensial, yaitu program yang tidak memiliki lompatan. Baris program dijalankan secara normal (lurus) satu per-satu dari atas ke bawah

2. Selection, yaitu program yang memiliki pilihan apakah harus menjalankan baris program sesuai dengan urutannya atau melompati sejumlah baris program tersebut

3. Looping, yaitu program yang juga mengandung pilihan apakah akan mengulangi program yang sudah pernah dijalankan sebelumnya atau tidak

Page 25: Pemrograman Terstruktur

Beberapa bentuk logika terstruktur dengan flow chartBeberapa bentuk logika terstruktur dengan flow chart

1. Struktur urut sederhana (Simple sequence)

2. Struktur 1 pilihan dengan IF-THEN

3. Struktur 2 pilihan dengan IF-THEN-ELSE

Page 26: Pemrograman Terstruktur

4a. Struktur banyak pilihan dengan IF-THEN-ELSEIF

4b. Struktur banyak pilihan dengan CASE

Page 27: Pemrograman Terstruktur

5. Struktur perulangan FOR

For

6. Struktur perulangan WHILE

7. Struktur perulangan UNTIL

Page 28: Pemrograman Terstruktur

Statemen kontrol terstruktur : Statemen kontrol terstruktur : menyembunyikanmenyembunyikan goto goto

Kondisi

Proses 1a

IF-THEN

true

false

Proses 1

Proses 2

Proses1If {kondisi } then Proses1aEnd ifProses2

Proses1If {kondisi=false } then goto lompat Proses1aLompat:Proses2

Jika kondisi=true, urutan pelaksanaan :

Proses1Proses1aProses2

Jika kondisi=false, urutan pelaksanaan :

Proses1Proses2

Analisa :

Page 29: Pemrograman Terstruktur

Kondisi

Proses 1b

IF-THEN-ELSE

true

false

Proses 1

Proses 2

Proses1If {kondisi=true } then Proses1b else proses1aend if Proses2

Proses1If {kondisi=true } then goto lompat1 else goto lompat2 Lompat1: Proses1b goto lompat3Lompat2: Proses1aLompat3: Proses2

Jika kondisi=true, urutan pelaksanaan :

Proses1Proses1bProses2

Jika kondisi=false, urutan pelaksanaan :

Proses1Proses1aProses2

Analisa :

Proses 1a

Page 30: Pemrograman Terstruktur

Kondisi1

Proses 2a

IF-THEN-ELSE-IF

true

false

Proses 1

Proses 2d

Proses1If {kondisi1=true } then Proses2a else if {kondisi2=true } then Proses2b else if {kondisi3=true } then Proses2c else Proses2dend ifProses3

Kondisi2

Kondisi3

Proses 2b

Proses 2c

Proses 3

Proses1If {kondisi1=true } then goto lompat1 If {kondisi2=true } then goto lompat2If {kondisi3=true } then goto lompat3Goto lompat4Lompat1: Proses2a goto habis Lompat2: Proses2b goto habis Lompat3: Proses2c goto habis Lompat4: proses2dHabis: proses3

Page 31: Pemrograman Terstruktur

Looping : FOR

I=1Ulang : Proses1 Proses2 I=I+1If I<=5 then goto UlangProses3

For I=1 to 5 Proses 1 Proses 2 Next IProses 3

Proses1

Proses2

FOR I=1 to 5

Proses3

Page 32: Pemrograman Terstruktur

Looping : WHILE

Ulang :If {kondisi=true} then Proses1 Proses2goto UlangProses3

While {kondisi=true} Proses 1 Proses 2 WendProses 3

While {kondisi}

Proses1

Proses2

Proses3

Page 33: Pemrograman Terstruktur

Looping : UNTIL

Ulang : Proses1 Proses2If {kondisi=true} then goto UlangProses3

do Proses 1 Proses 2 Loop Until {kondisi=true}Proses 3

Proses1

Proses1

Until {kondisi}

Proses3

Page 34: Pemrograman Terstruktur

Contoh flow chart dengan kontrol lengkap :

C=2

C=C=1

C>12

end

start

Page 35: Pemrograman Terstruktur

Contoh flow chart dengan beberapa lompatan tidak terstruktur :

end

start Lompatan tidak terstruktur :

a. Melompat ke bagian yang belum tentu dilewati

b. Melompat keluar dari daerah induknya

Page 36: Pemrograman Terstruktur

Struktur Data dan Pemrograman Struktur Data dan Pemrograman terstrukturterstruktur

•Bahasa pemrograman dengan kemampuan meng-ekspresi-kan semua kebutuhan struktur data akan lebih mendukung pencapaian tujuan dari pemrograman terstruktur

•Bahasa pemrograman yang tidak memiliki fasilitas untuk mengungkapkan struktur data tertentu cendrung mengarahkan kode program ke bentuk yang kurang teratur

•Kemampuan struktur data suatu bahasa pemrograman ditentukan oleh kemampuan fasilitas type data yang dimilikinya

•Type data secara umum terdiri dari :

- Type data dasar standar : Integer, real, string, charakter, dan logic

- Type data dasar tidak standar : sub range, enumerate

- Type data majemuk : set, array, record, file

- Type data dinamis : pointer

Page 37: Pemrograman Terstruktur

Metoda Desain Pemrograman Metoda Desain Pemrograman TerstrukturTerstruktur

Metode Perancangan Top-down

Metada Perancangan Modular Implementasi internal : Procedure/Subprogram, Function

Implementasi eksternal : file Unit/Header/Modul

Diagram Nassi-Schneiderman

Tabel Decision

Untuk membantu dan menjamin dihasilkannya program yang terstruktur, dapat digunakan beberapa metoda/alat berikut :

Page 38: Pemrograman Terstruktur

Mahasiswa Dosen Perkuliahan

Sistem Informasi Akademis

Entry data

Hapus data

Laporan data

Entry data

Hapus data

Laporan data

Entry data

Hapus data

Laporan data

Contoh Top-down :

Page 39: Pemrograman Terstruktur

Metode Modular : Implementasi Top-down

……..Call A……..

Call B……..

Call C……..

…….Call A1 …….

Call A2……..

…….…….

…….…….

…….

…….

…….

…….

A

B

C

A1

A2

Bagian Utama

Dapat diterapkan secara :

- Internal : sub program, procedure, function

- Eksternal : file unit, header, modul

Page 40: Pemrograman Terstruktur

04/22/23

Konsep Pemecahan masalah

Menganalisa dan memahami permasalahan dan membuat algoritma (pola berfikir terstruktur berisi tahap-tahap penyelesaian masalah)

Membuat kode dari algoritma dalam pernyataan sesuai dengan bahasa pemrograman

Testing (menjalankan program) dan debugging (menemukan kesalahan)

Melakukan dokumentasi terhadap setiap langkah

Page 41: Pemrograman Terstruktur

04/22/23

Ciri Pemrograman Terstruktur

Mempunyai teknik pemecahan masalah yang benar

Memiliki algoritma pemecahan masalah yang sederhana dan efisien

Teknik penulisan program memiliki struktur logika yang benar dan mudah dipahami

Membutuhkan biaya testing yang rendah Memiliki dokumentasi yang baik

Page 42: Pemrograman Terstruktur

04/22/23

Langkah-langkah Pembuatan Program

Mendefinisikan masalah Mencari solusi untuk masalah Memilih teknik pemecahan masalah dan

algoritma Menulis program Melakukan testing dan debugging Melakukan dokumentasi Melakukan pemeliharaan

Page 43: Pemrograman Terstruktur

04/22/23

Definisi Algoritma

Pola pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah untuk diimplementasikan dalam pemrograman

Biasanya dalam program terdapat tiga struktur program:– Struktur Urut– Struktur Keputusan– Struktur Perulangan

Page 44: Pemrograman Terstruktur

04/22/23

Struktur Penulisan Program C

main()

{

statemen-statemen; //fungsi utama

}

fungsi_fungsi _lain()

{

statemen-statemen; // fungsi-fungsi lain

}

Page 45: Pemrograman Terstruktur

04/22/23

Pengenalan Fungsi Dasar

stdio.h, header standard input output karena ada printf

main(), program utama {}, awal program dan akhir program printf(“HALLO C”); mencetak tulisan Hallo C

di monitor

#include<stdio.h>main(){

printf(“HALLO C”);}

Page 46: Pemrograman Terstruktur

04/22/23

Penentu Format %d : untuk menampilkan bilangan bulat (int) %f : untuk menampilkan bilangan pecahan (float) %c : untuk menampilkan sebuah karakter (char) %s : untuk menampilkan sebuah string (char [ ])

#include <stdio.h>

main( )

{

printf(“No : %d\n”, 10);

printf(“Nama : %s\n”, “Ali”);

printf(“Nilai : %f\n”,80.5);

printf(“Huruf : %c\n”,‘A’);

}

Page 47: Pemrograman Terstruktur

04/22/23

Komentar

Untuk keperluan dokumentasi dengan maksud agar program mudah dipahami

/* Tanda ini adalah komentar */

#include <stdio.h>

main()

{

printf(“Coba\n”); /* Ini adl program pertama */

}

Page 48: Pemrograman Terstruktur

04/22/23

Praprosesor #include

#include merupakan satu jenis pengarah praprosesor yang dipakai untuk membaca file yang dinamakan file judul (header file), yaitu file yang berisi deklarasi fungsi dan definisi konstanta

Contoh:– #include <stdio.h>– #include <conio.h>– #include <math.h>

Page 49: Pemrograman Terstruktur

04/22/23

Proses Kompilasi dan Linking Program C

Source Header

Objek Lain Obyek

Link

Library

Exe

Compile