SlideShare a Scribd company logo
1 of 75
Teknik PemrogramanTeknik Pemrograman
TerstrukturTerstruktur
IrmayanI s.sI.,m.sI
01/20/19
 
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?
01/20/19
Definisi KomputerDefinisi 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…
01/20/19
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. 
Hardware
Perangkat KerasPerangkat Keras  (Hardware) Adalah  perangkat  keras 
untuk mendukung beroperasinya komputer. Perangkat keras 
komputer  secara  garis  besar  terdiri  atas  tiga  komponen 
utama, yaitu:
01/20/19
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 
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
01/20/19
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 menengah : bahasa C.
Bahasa tingkat rendah : Assembler, binerisasi
Software
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. 
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 terstrukturMetoda dasar pemrograman terstruktur
GOTOLess : Sekuensial, Selection, Looping
• Perbandingan bahasa pemrogramanPerbandingan bahasa pemrograman
(Berdasarkan kriteria pemrograman terstruktur)
• Metoda desain pemrograman terstrukturMetoda desain pemrograman terstruktur
Modular, TopDown,…
• OOP, Pemrograman berorientasi objekOOP, Pemrograman berorientasi objek
(Lebih terstuktur dari ide pemrograman terstruktur ?)
• Struktur pemrograman visualStruktur pemrograman visual
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.
CPU
Programmer Instruksi A
Instruksi D
Data D
Instruksi B
Data A
Instruksi C
Sejumlah Instruksi dan data
00011100
00000101
00111101
00010010
00101101
……….
……….
……….
……….
……….
0002
0100
0101
……….0001
0102
0103
Susunan instruksi dan data
dalam memory
Mov A,05
Mov B,12
Add A,B
Assembly
A = 05 + 12
High/Medium Level
3C
05
3D
12
2D
Hexa
Tool
Ilustrasi Pemrograman KomputerIlustrasi Pemrograman Komputer
01/20/19
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++,
…
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)
01/20/19
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
Ide Pemrograman terstrukturIde Pemrograman terstruktur
Pemrograman  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
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.
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
Beberapa jenis teknik pemrograman yang telah
pernah ada :
unstructured programmingunstructured programming
procedural programming
Modular Programing
object-oriented programming
Unstructured programming
Teknik  memrogram  dengan  cara  menuliskan 
program hanya pada satu program utama. Di dalam 
program  utama  tersebut,  keseluruhan  baris 
programnya  berisi  urut-urutan  perintah  atau 
statemen untuk memodifikasi dan mengolah data.
procedural programming
Dengan teknik ini kita dapat mengatur urutan
statemen program, mengembalikan urutan
statemen program pada suatu tempat yang kita
inginkan . Suatu pemanggilan prosedur digunakan
untuk memohon prosedur tersebut berjalan,
setelah diproses, arus kendali urutan akan
dikembalikan pada urutan proses pemanggilnya.
Main program Procedure
procedural programming
Procedure akan dipanggil oleh baris program
di main program dan setelah selesai urutan dikembalikan
procedural programming
Jika suatu prosedur benar, setiap kali digunakan
pasti mengeluarkan hasil benar, dan begitu
sebaliknya jika prosedur itu salah juga akan
menghasilkan kesalahan jika dipanggil
berulangkali.
Tetapi dengan teknik ini kita dapat membatasi
tempat pencarian kesalahan, dan jika prosedur
yang salah, kita cukup memperbaiki satu kali di
baris program dalam prosedur tersebut.
procedural programming
Ada yang menggunakan teknik ini dengan cara
program utama hanya berisi baris-baris perintah
pemanggil prosedur dan menyediakan data yang
akan diolah di prosedur, setelah selesai proses
hasilnya akan di bawa ke program utama
Program utama mengkoordinir panggilan ke prosedur dan penyerahan data
sesuai parameter.
Modular programming
Pada teknik pemrograman modular ini kita
mengelompokkan beberapa procedure yang sama
fungsinya ke dalam suatu modul yang terpisah dari
program utama, modul yang dibuat mungkin lebih dari
satu. Dasar penciptaan modul ini, karena programer
menilai prosedur di dalam modul akan banyak
digunakan pada program-program yang berlainan.
Modular programming
Masing-masing Modul dapat mempunyai data sendiri
dan mengijinkan masing-masing modul untuk
mengatur suatu status internal untuk dimodifikasi oleh
prosedur yang ada didalamnya.
Jadi, paradigma baru yang ditawarkan pada teknik ini
adalah suatu program tidak lagi terdiri dari hanya satu
bagian tunggal, tetapi dibagi ke dalam beberapa bagian
yang lebih kecil saling berhubungan
modular programming
Program utama
mengkoordinir panggilan ke
prosedur di dalam modul
terpisah dan penyerahan
data sesuai parameter.
object-oriented programming
Pada teknik OOP menjadikan kode lebih mudah
dipelihara dibandingkan dengan teknik yang lain.
OOP menawarkan keistimewaan reusebility,
kemampuan yang membuat kode mudah
digunakan kembali pada pengembangan aplikasi
yang lain, sehingga meningkatkan produktifitas
programmer. Pada OOP di program utama
terdapat kumpulan objek yang saling
berinteraksi.
object-oriented programming
Objek merupakan hal terpenting dalam OOP,
contoh mudah pada pemrograman Visual, form
dan kotak teks merupakan sebuah obyek yang
biasa dilibatkan dalam pembuatan program
aplikasi.
Suatu obyek dapat dimanipulasi melalui properti
(atribut) yang dimilikinya dan event (kejadian)
yang dikenali obyek (contoh : DblClick) serta
metode yang dijalankan jika tindakan kejadian
dilakukan.
Object di dalam program saling berhubungan dengan saling
mengirim pesan.
object-oriented programming
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.
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 ini
Dengan 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
•Teknik yang akan digunakan
•meningkatkan produktifitas programmer 
mengurangi waktu yang dibutuhkan dalam penulisan
(write), pengujian (test), penelusuran kesalahan
(debug) dan pemeliharaan (maintain) suatu program
•Pendekatan yang dilakukan  secara modular
• Suatu program akan dipilah ke dalam sejumlah modul, setiap modul
menjalankan fungsinya sendiri
• Setiap program akan memiliki program utamanya, yang kemudian
akan memanggil sejumlah modul-modul yang ada
• Dapat diimplementasikan dengan penggunaan subroutine  suatu
kelompok instruksi yang menjalankan suatu pengolahan yang
sifatknya terbatas seperti pencetakan, pembacaan untuk proses inpu
atau untuk proses penghitungan
01/20/19
Gambaran proses transfer ke dan dari suatu
subroutine
………………………………..
………………………………..
………………………………..
…………………………………
CALL SUB
…………………………………
………………………………..
………………………………..
CALL SUB
………………………………..
………………………………..
…………………………………
SUB
………………………………..
………………………………
………………………………..
………………………………..
…………………………………
RETURN
Path dari pemanggilan pertama
Path dari pemanggilan kedua
01/20/19
01/20/19
Pemrograman terstruktur
• Salah satu sasaran dalam mendesain program
terstruktur adalah mengurangi kebingungan
yang dihasilkan dari penggunaan percabangan
atau perintah go-to
• Dalam pemrograman terstruktur tidak
digunakan lagi perintah go-to
• Ada tiga bentuk yang digunakan yaitu :
sequence structure, loop structure, selection
structure
01/20/19
Sequence structure
• Dalam sequence structuer, instruksi dieksekusi
berdasarkan urutannya
• Tidak diperkenankan penggunaan kotak
keputusan
Instruksi 1
Instruksi 2
Instruksi 3
01/20/19
Loop structure
 Loop structure menggambarkan perulangan
dari satu atau lebih instruksi
Instruksi 1
……………..
01/20/19
Selection structure
• Terdapat sejumlah perintah yang dikerjakan
tergantung dari kondisi yang dipenuhinya
• Seperti juga pada sequence dan loop structure,
terdapat single entry point dan single exit point
Instruksi 1
Instruksi 2 Disarikan dari
catatan
01/20/19
01/20/19
01/20/19
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
Contoh Flow Chart :Contoh Flow Chart :
Start
Masukkan data jumlah apel ke var A
Masukkan data jumlah anak ke var N
C = A / N
Tampilkan : Setiap anak mendapat C apel
end
Start
Masukkan nilai koefisien A ke var A
Masukkan nilai koefisien B ke var B
Masukkan nilai koefisien C ke var C
A=0
Menanyakan apakah ingin
menghitung lagi ? LG
end
D = b2 –
4AC
D>0
D=0
Hitung penyelesaian real
Dengan akar berbeda
Hitung penyelesaian real
Dengan akar sama
Hitung penyelesaian
Bilangan imajiner
Permasalahan 1 :
Permasalahan 2 :
LG=Ya
01/20/19
01/20/19
01/20/19
01/20/19
01/20/19
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
4a. Struktur banyak pilihan dengan
IF-THEN-ELSEIF
4b. Struktur banyak pilihan dengan
CASE
5. Struktur perulangan
FOR
For
6. Struktur perulangan
WHILE
7. Struktur perulangan
UNTIL
Statemen kontrol terstruktur :Statemen kontrol terstruktur : menyembunyikanmenyembunyikan gotogoto
Kondisi
Proses 1a
IF-
THEN
true
false
Proses 1
Proses 2
Proses1
If {kondisi } then
Proses1a
End if
Proses2
Proses1
If {kondisi=false } then goto lompat
Proses1a
Lompat:
Proses2
Jika kondisi=true,
urutan pelaksanaan :
Proses1
Proses1a
Proses2
Jika kondisi=false,
urutan pelaksanaan :
Proses1
Proses2
Analisa :
Kondisi
Proses 1b
IF-THEN-
ELSE
true
false
Proses 1
Proses 2
Proses1
If {kondisi=true } then
Proses1b
else
proses1a
end if
Proses2
Proses1
If {kondisi=true } then goto lompat1 else goto lompat2
Lompat1:
Proses1b
goto lompat3
Lompat2:
Proses1a
Lompat3:
Proses2
Jika kondisi=true,
urutan pelaksanaan :
Proses1
Proses1b
Proses2
Jika kondisi=false,
urutan pelaksanaan :
Proses1
Proses1a
Proses2
Analisa :
Proses 1a
Kondisi1
Proses 2a
IF-THEN-ELSE-
IF
true
fals
e
Proses 1
Proses 2d
Proses1
If {kondisi1=true } then
Proses2a
else
if {kondisi2=true } then
Proses2b
else
if {kondisi3=true } then
Proses2c
else
Proses2d
end if
Proses3
Kondisi2
Kondisi3
Proses 2b
Proses 2c
Proses 3
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
Looping : FOR
I=1
Ulang :
Proses1
Proses2
I=I+1
If I<=5 then goto Ulang
Proses3
For I=1 to 5
Proses 1
Proses 2
Next I
Proses 3
Proses1
Proses2
FOR I=1 to 5
Proses3
Looping : WHILE
Ulang :
If {kondisi=true} then
Proses1
Proses2
goto Ulang
Proses3
While {kondisi=true}
Proses 1
Proses 2
Wend
Proses 3
While {kondisi}
Proses1
Proses2
Proses3
Looping : UNTIL
Ulang :
Proses1
Proses2
If {kondisi=true} then goto Ulang
Proses3
do
Proses 1
Proses 2
Loop Until {kondisi=true}
Proses 3
Proses1
Proses1
Until {kondisi}
Proses3
Contoh flow chart dengan kontrol lengkap :
C=2
C=C=1
C>12
end
start
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
Struktur Data dan Pemrograman terstrukturStruktur Data dan Pemrograman terstruktur
•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
Metoda Desain Pemrograman TerstrukturMetoda Desain Pemrograman Terstruktur
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 :
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 :
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
01/20/19
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
01/20/19
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
01/20/19
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
01/20/19
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
01/20/19
Struktur Penulisan Program C
main()
{
statemen-statemen; //fungsi utama
}
fungsi_fungsi-_lain()
{
statemen-statemen; // fungsi-fungsi lain
}
01/20/19
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”);
}
01/20/19
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 : %dn”, 10);
printf(“Nama : %sn”, “Ali”);
printf(“Nilai : %fn”,80.5);
printf(“Huruf : %cn”,‘A’);
}
01/20/19
Komentar
 Untuk keperluan dokumentasi dengan
maksud agar program mudah dipahami
/* Tanda ini adalah komentar */
#include <stdio.h>
main()
{
printf(“Coban”); /* Ini adl program
pertama */
}
01/20/19
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>
01/20/19
Proses Kompilasi dan Linking
Program C
Source Header
Objek Lain Obyek
Link
Library
Exe
Compile

More Related Content

What's hot

Perancangan dan Analisa Sistem
Perancangan dan Analisa SistemPerancangan dan Analisa Sistem
Perancangan dan Analisa Sistemguestb7aaaf1e
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerAuliaa Oktarianii
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...Uofa_Unsada
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interfaceRpl 10-perancangan user interface
Rpl 10-perancangan user interfacef' yagami
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapCheria Asyifa
 
3 interface metaphors dan model konseptual-donz
3   interface metaphors dan model konseptual-donz3   interface metaphors dan model konseptual-donz
3 interface metaphors dan model konseptual-donzStevie Principe
 
Rpl 06 - proses rekayasa persyaratan
Rpl   06 - proses rekayasa persyaratanRpl   06 - proses rekayasa persyaratan
Rpl 06 - proses rekayasa persyaratanFebriyani Syafri
 
Interaksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual ModelInteraksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual ModelEko Kurniawan Khannedy
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanSherly Uda
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)eka pandu cynthia
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanFahrul Razi
 
Penjelasan listing program
Penjelasan listing programPenjelasan listing program
Penjelasan listing programPenyiar Unpab
 

What's hot (20)

Perancangan dan Analisa Sistem
Perancangan dan Analisa SistemPerancangan dan Analisa Sistem
Perancangan dan Analisa Sistem
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
2 alfabet dan string
2 alfabet dan string2 alfabet dan string
2 alfabet dan string
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interfaceRpl 10-perancangan user interface
Rpl 10-perancangan user interface
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
3 interface metaphors dan model konseptual-donz
3   interface metaphors dan model konseptual-donz3   interface metaphors dan model konseptual-donz
3 interface metaphors dan model konseptual-donz
 
Rpl 06 - proses rekayasa persyaratan
Rpl   06 - proses rekayasa persyaratanRpl   06 - proses rekayasa persyaratan
Rpl 06 - proses rekayasa persyaratan
 
Interaksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual ModelInteraksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual Model
 
Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Register
RegisterRegister
Register
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Interupsi
InterupsiInterupsi
Interupsi
 
Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi Boolean
 
Penjelasan listing program
Penjelasan listing programPenjelasan listing program
Penjelasan listing program
 

Similar to Pemrograman terstruktur

Similar to Pemrograman terstruktur (20)

Bahasa pemrograman
Bahasa pemrogramanBahasa pemrograman
Bahasa pemrograman
 
TD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrogramanTD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrograman
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Bahasa c
Bahasa cBahasa c
Bahasa c
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
 
LN 01_Al Khwarizmi 2022 - Copy.pdf
LN 01_Al Khwarizmi 2022 - Copy.pdfLN 01_Al Khwarizmi 2022 - Copy.pdf
LN 01_Al Khwarizmi 2022 - Copy.pdf
 
Definisi Algoritma
Definisi AlgoritmaDefinisi Algoritma
Definisi Algoritma
 
Silabus pemrograman dasar sugiarto smkn2 depok
Silabus  pemrograman dasar sugiarto smkn2 depok Silabus  pemrograman dasar sugiarto smkn2 depok
Silabus pemrograman dasar sugiarto smkn2 depok
 
Daskom 4
Daskom 4Daskom 4
Daskom 4
 
Pengantar PBO
Pengantar PBOPengantar PBO
Pengantar PBO
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
 
Teknik kompilasi
Teknik kompilasi Teknik kompilasi
Teknik kompilasi
 
Pengenalan Algoritma Komputer
Pengenalan Algoritma KomputerPengenalan Algoritma Komputer
Pengenalan Algoritma Komputer
 
74687827silabuspemrogramandasar2017.doc
74687827silabuspemrogramandasar2017.doc74687827silabuspemrogramandasar2017.doc
74687827silabuspemrogramandasar2017.doc
 
Bahasa sistem
Bahasa sistemBahasa sistem
Bahasa sistem
 
M03a algoritma
M03a algoritmaM03a algoritma
M03a algoritma
 
Aplikasi pemrograman
Aplikasi pemrogramanAplikasi pemrograman
Aplikasi pemrograman
 
Silabus Pemrograman Dasar.doc
Silabus Pemrograman Dasar.docSilabus Pemrograman Dasar.doc
Silabus Pemrograman Dasar.doc
 

More from Jefry Jefry

Konsep E-Learning
Konsep E-LearningKonsep E-Learning
Konsep E-LearningJefry Jefry
 
10. konsep e learning
10. konsep e learning10. konsep e learning
10. konsep e learningJefry Jefry
 
10. konsep e learning
10. konsep e learning10. konsep e learning
10. konsep e learningJefry Jefry
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascalJefry Jefry
 
10. konsep e learning
10. konsep e learning10. konsep e learning
10. konsep e learningJefry Jefry
 

More from Jefry Jefry (7)

Konsep E-Learning
Konsep E-LearningKonsep E-Learning
Konsep E-Learning
 
Email
EmailEmail
Email
 
10. konsep e learning
10. konsep e learning10. konsep e learning
10. konsep e learning
 
10. konsep e learning
10. konsep e learning10. konsep e learning
10. konsep e learning
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascal
 
Email
EmailEmail
Email
 
10. konsep e learning
10. konsep e learning10. konsep e learning
10. konsep e learning
 

Pemrograman terstruktur

  • 2. 01/20/19   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?
  • 3. 01/20/19 Definisi KomputerDefinisi 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…
  • 4. 01/20/19 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.  Hardware Perangkat KerasPerangkat Keras  (Hardware) Adalah  perangkat  keras  untuk mendukung beroperasinya komputer. Perangkat keras  komputer  secara  garis  besar  terdiri  atas  tiga  komponen  utama, yaitu:
  • 5. 01/20/19 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  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
  • 6. 01/20/19 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 menengah : bahasa C. Bahasa tingkat rendah : Assembler, binerisasi Software
  • 7. 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. 
  • 8. 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 terstrukturMetoda dasar pemrograman terstruktur GOTOLess : Sekuensial, Selection, Looping • Perbandingan bahasa pemrogramanPerbandingan bahasa pemrograman (Berdasarkan kriteria pemrograman terstruktur) • Metoda desain pemrograman terstrukturMetoda desain pemrograman terstruktur Modular, TopDown,… • OOP, Pemrograman berorientasi objekOOP, Pemrograman berorientasi objek (Lebih terstuktur dari ide pemrograman terstruktur ?) • Struktur pemrograman visualStruktur pemrograman visual
  • 9. 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.
  • 10. CPU Programmer Instruksi A Instruksi D Data D Instruksi B Data A Instruksi C Sejumlah Instruksi dan data 00011100 00000101 00111101 00010010 00101101 ………. ………. ………. ………. ………. 0002 0100 0101 ……….0001 0102 0103 Susunan instruksi dan data dalam memory Mov A,05 Mov B,12 Add A,B Assembly A = 05 + 12 High/Medium Level 3C 05 3D 12 2D Hexa Tool Ilustrasi Pemrograman KomputerIlustrasi Pemrograman Komputer
  • 11. 01/20/19 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++, …
  • 12. 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)
  • 13. 01/20/19 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
  • 14. Ide Pemrograman terstrukturIde Pemrograman terstruktur Pemrograman  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
  • 15. 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.
  • 16. 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
  • 17. Beberapa jenis teknik pemrograman yang telah pernah ada : unstructured programmingunstructured programming procedural programming Modular Programing object-oriented programming
  • 18. Unstructured programming Teknik  memrogram  dengan  cara  menuliskan  program hanya pada satu program utama. Di dalam  program  utama  tersebut,  keseluruhan  baris  programnya  berisi  urut-urutan  perintah  atau  statemen untuk memodifikasi dan mengolah data.
  • 19. procedural programming Dengan teknik ini kita dapat mengatur urutan statemen program, mengembalikan urutan statemen program pada suatu tempat yang kita inginkan . Suatu pemanggilan prosedur digunakan untuk memohon prosedur tersebut berjalan, setelah diproses, arus kendali urutan akan dikembalikan pada urutan proses pemanggilnya.
  • 20. Main program Procedure procedural programming Procedure akan dipanggil oleh baris program di main program dan setelah selesai urutan dikembalikan
  • 21. procedural programming Jika suatu prosedur benar, setiap kali digunakan pasti mengeluarkan hasil benar, dan begitu sebaliknya jika prosedur itu salah juga akan menghasilkan kesalahan jika dipanggil berulangkali. Tetapi dengan teknik ini kita dapat membatasi tempat pencarian kesalahan, dan jika prosedur yang salah, kita cukup memperbaiki satu kali di baris program dalam prosedur tersebut.
  • 22. procedural programming Ada yang menggunakan teknik ini dengan cara program utama hanya berisi baris-baris perintah pemanggil prosedur dan menyediakan data yang akan diolah di prosedur, setelah selesai proses hasilnya akan di bawa ke program utama Program utama mengkoordinir panggilan ke prosedur dan penyerahan data sesuai parameter.
  • 23. Modular programming Pada teknik pemrograman modular ini kita mengelompokkan beberapa procedure yang sama fungsinya ke dalam suatu modul yang terpisah dari program utama, modul yang dibuat mungkin lebih dari satu. Dasar penciptaan modul ini, karena programer menilai prosedur di dalam modul akan banyak digunakan pada program-program yang berlainan.
  • 24. Modular programming Masing-masing Modul dapat mempunyai data sendiri dan mengijinkan masing-masing modul untuk mengatur suatu status internal untuk dimodifikasi oleh prosedur yang ada didalamnya. Jadi, paradigma baru yang ditawarkan pada teknik ini adalah suatu program tidak lagi terdiri dari hanya satu bagian tunggal, tetapi dibagi ke dalam beberapa bagian yang lebih kecil saling berhubungan
  • 25. modular programming Program utama mengkoordinir panggilan ke prosedur di dalam modul terpisah dan penyerahan data sesuai parameter.
  • 26. object-oriented programming Pada teknik OOP menjadikan kode lebih mudah dipelihara dibandingkan dengan teknik yang lain. OOP menawarkan keistimewaan reusebility, kemampuan yang membuat kode mudah digunakan kembali pada pengembangan aplikasi yang lain, sehingga meningkatkan produktifitas programmer. Pada OOP di program utama terdapat kumpulan objek yang saling berinteraksi.
  • 27. object-oriented programming Objek merupakan hal terpenting dalam OOP, contoh mudah pada pemrograman Visual, form dan kotak teks merupakan sebuah obyek yang biasa dilibatkan dalam pembuatan program aplikasi. Suatu obyek dapat dimanipulasi melalui properti (atribut) yang dimilikinya dan event (kejadian) yang dikenali obyek (contoh : DblClick) serta metode yang dijalankan jika tindakan kejadian dilakukan.
  • 28. Object di dalam program saling berhubungan dengan saling mengirim pesan. object-oriented programming
  • 29. 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.
  • 30. 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 ini Dengan 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
  • 31. •Teknik yang akan digunakan •meningkatkan produktifitas programmer  mengurangi waktu yang dibutuhkan dalam penulisan (write), pengujian (test), penelusuran kesalahan (debug) dan pemeliharaan (maintain) suatu program •Pendekatan yang dilakukan  secara modular
  • 32. • Suatu program akan dipilah ke dalam sejumlah modul, setiap modul menjalankan fungsinya sendiri • Setiap program akan memiliki program utamanya, yang kemudian akan memanggil sejumlah modul-modul yang ada • Dapat diimplementasikan dengan penggunaan subroutine  suatu kelompok instruksi yang menjalankan suatu pengolahan yang sifatknya terbatas seperti pencetakan, pembacaan untuk proses inpu atau untuk proses penghitungan
  • 33.
  • 34. 01/20/19 Gambaran proses transfer ke dan dari suatu subroutine ……………………………….. ……………………………….. ……………………………….. ………………………………… CALL SUB ………………………………… ……………………………….. ……………………………….. CALL SUB ……………………………….. ……………………………….. ………………………………… SUB ……………………………….. ……………………………… ……………………………….. ……………………………….. ………………………………… RETURN Path dari pemanggilan pertama Path dari pemanggilan kedua
  • 36. 01/20/19 Pemrograman terstruktur • Salah satu sasaran dalam mendesain program terstruktur adalah mengurangi kebingungan yang dihasilkan dari penggunaan percabangan atau perintah go-to • Dalam pemrograman terstruktur tidak digunakan lagi perintah go-to • Ada tiga bentuk yang digunakan yaitu : sequence structure, loop structure, selection structure
  • 37. 01/20/19 Sequence structure • Dalam sequence structuer, instruksi dieksekusi berdasarkan urutannya • Tidak diperkenankan penggunaan kotak keputusan Instruksi 1 Instruksi 2 Instruksi 3
  • 38. 01/20/19 Loop structure  Loop structure menggambarkan perulangan dari satu atau lebih instruksi Instruksi 1 ……………..
  • 39. 01/20/19 Selection structure • Terdapat sejumlah perintah yang dikerjakan tergantung dari kondisi yang dipenuhinya • Seperti juga pada sequence dan loop structure, terdapat single entry point dan single exit point Instruksi 1 Instruksi 2 Disarikan dari catatan
  • 43. 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
  • 44. Contoh Flow Chart :Contoh Flow Chart : Start Masukkan data jumlah apel ke var A Masukkan data jumlah anak ke var N C = A / N Tampilkan : Setiap anak mendapat C apel end Start Masukkan nilai koefisien A ke var A Masukkan nilai koefisien B ke var B Masukkan nilai koefisien C ke var C A=0 Menanyakan apakah ingin menghitung lagi ? LG end D = b2 – 4AC D>0 D=0 Hitung penyelesaian real Dengan akar berbeda Hitung penyelesaian real Dengan akar sama Hitung penyelesaian Bilangan imajiner Permasalahan 1 : Permasalahan 2 : LG=Ya
  • 50. 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
  • 51.
  • 52. 4a. Struktur banyak pilihan dengan IF-THEN-ELSEIF 4b. Struktur banyak pilihan dengan CASE
  • 53. 5. Struktur perulangan FOR For 6. Struktur perulangan WHILE 7. Struktur perulangan UNTIL
  • 54. Statemen kontrol terstruktur :Statemen kontrol terstruktur : menyembunyikanmenyembunyikan gotogoto Kondisi Proses 1a IF- THEN true false Proses 1 Proses 2 Proses1 If {kondisi } then Proses1a End if Proses2 Proses1 If {kondisi=false } then goto lompat Proses1a Lompat: Proses2 Jika kondisi=true, urutan pelaksanaan : Proses1 Proses1a Proses2 Jika kondisi=false, urutan pelaksanaan : Proses1 Proses2 Analisa :
  • 55. Kondisi Proses 1b IF-THEN- ELSE true false Proses 1 Proses 2 Proses1 If {kondisi=true } then Proses1b else proses1a end if Proses2 Proses1 If {kondisi=true } then goto lompat1 else goto lompat2 Lompat1: Proses1b goto lompat3 Lompat2: Proses1a Lompat3: Proses2 Jika kondisi=true, urutan pelaksanaan : Proses1 Proses1b Proses2 Jika kondisi=false, urutan pelaksanaan : Proses1 Proses1a Proses2 Analisa : Proses 1a
  • 56. Kondisi1 Proses 2a IF-THEN-ELSE- IF true fals e Proses 1 Proses 2d Proses1 If {kondisi1=true } then Proses2a else if {kondisi2=true } then Proses2b else if {kondisi3=true } then Proses2c else Proses2d end if Proses3 Kondisi2 Kondisi3 Proses 2b Proses 2c Proses 3 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
  • 57. Looping : FOR I=1 Ulang : Proses1 Proses2 I=I+1 If I<=5 then goto Ulang Proses3 For I=1 to 5 Proses 1 Proses 2 Next I Proses 3 Proses1 Proses2 FOR I=1 to 5 Proses3
  • 58. Looping : WHILE Ulang : If {kondisi=true} then Proses1 Proses2 goto Ulang Proses3 While {kondisi=true} Proses 1 Proses 2 Wend Proses 3 While {kondisi} Proses1 Proses2 Proses3
  • 59. Looping : UNTIL Ulang : Proses1 Proses2 If {kondisi=true} then goto Ulang Proses3 do Proses 1 Proses 2 Loop Until {kondisi=true} Proses 3 Proses1 Proses1 Until {kondisi} Proses3
  • 60. Contoh flow chart dengan kontrol lengkap : C=2 C=C=1 C>12 end start
  • 61. 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
  • 62. Struktur Data dan Pemrograman terstrukturStruktur Data dan Pemrograman terstruktur •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
  • 63. Metoda Desain Pemrograman TerstrukturMetoda Desain Pemrograman Terstruktur 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 :
  • 64. 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 :
  • 65. 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
  • 66. 01/20/19 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
  • 67. 01/20/19 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
  • 68. 01/20/19 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
  • 69. 01/20/19 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
  • 70. 01/20/19 Struktur Penulisan Program C main() { statemen-statemen; //fungsi utama } fungsi_fungsi-_lain() { statemen-statemen; // fungsi-fungsi lain }
  • 71. 01/20/19 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”); }
  • 72. 01/20/19 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 : %dn”, 10); printf(“Nama : %sn”, “Ali”); printf(“Nilai : %fn”,80.5); printf(“Huruf : %cn”,‘A’); }
  • 73. 01/20/19 Komentar  Untuk keperluan dokumentasi dengan maksud agar program mudah dipahami /* Tanda ini adalah komentar */ #include <stdio.h> main() { printf(“Coban”); /* Ini adl program pertama */ }
  • 74. 01/20/19 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>
  • 75. 01/20/19 Proses Kompilasi dan Linking Program C Source Header Objek Lain Obyek Link Library Exe Compile