67
Pemrograman Dasar 1 Pertemuan 01

Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Embed Size (px)

Citation preview

Page 1: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pemrograman Dasar

1

Pertemuan 01

Page 2: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pada akhir pertemuan ini, diharapkan mahasiswaakan mampu :

Menjelaskan tentang konsep dasar pemrograman komputer, algoritma dan tahapan pembuatan algoritmapemrograman terstruktur.

2

Page 3: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

• Konsep Dasar Pemrograman

• Definisi Algoritma

• Tahap Pengembangan Algoritma

• Penyajian algoritma

• Pseudocode

• Flow Chart

• Pemrograman Terstruktur

3

Page 4: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

4

Penyimpanan Data

PUSAT PENGOLAH DATA

(berbasis Arithmatika

dan Logika)

Data yg Diolah

(Masukan/Input)

Data hasil pengolahan

(Keluaran/Output)

COMPUTER TO – COMPUTE + ER

(Menghitung/Mengolah bilangan)

(Mengolah Data)

Page 5: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pemrograman adalah suatu aktifitas pemecahan masalah. Metode pemecahan masalah dibahas pada berbagai bidang,

misalnya:

• Di bidang bisnis digunakan pendekatan sistem

• Di bidang teknik dan sains digunakan metode teknik dansaintifik

• Di bidang pemrograman digunakan metode pengembangansoftware

Langkah-langkah dalam metode Pembuatan Program:

1. Menspesifikan kebutuhan masalah -> identifikasi masalah

2. Menganalisis masalah -> metode penyelesaian terbaik

3. Merancang/mendesign algoritma untuk menyelesaikanmasalah -> Design pemrograman

4. Mengimplementasikan algoritma -> coding

5. Mentest dan memverifikasi program -> debuging; testing

6. Memelihara dan meng-update program -> maintenance

5

Page 6: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Kita harus dapat menspesifikasikanmasalah dengan jelas dan tidak ambigudan memiliki pemahaman yang jelasmengenai apa yang diperlukan untukmenyelesaikan masalah tersebut.

Kita harus dapat mengeliminasi aspek-aspek yang tidak penting dari masalah.

Dalam langkah ini, kita mungkinmembutuhkan informasi dari orang-orang yang terlibat dalam masalahtersebut.

6

Page 7: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Kita harus dapat mengidentifikasi masalah berkaitan dengan:

• Input

• Output

• Kebutuhan tambahan atau batasan dari penyelesaian masalah

• Format dari output (dalam bentuk tabel, file, atau yang lain)

• Daftar variabel dan hubungan antar variabel (bisa dinyatakan dalam rumus)

Tips: Bacalah ‘problem statement’ (soal) dengan hati-hati agar memiliki pemahaman yang jelas mengenai permasalahan dan agar dapat menentukan input maupun output dengan benar. Kita bisa menggarisbawahi frase di dalam soal yang mengindikasikan input dan output.

7

Page 8: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Contoh:Problem: Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga perkg apel diketahui.Analisis:Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga perkg apel diketahui.Input:

Jumlah apel yang dibeli (dalam kg) -> kg_beli

Harga per kg apel (dalam rupiah) -> harga_kgOutput:

Total harga apel (dalam rupiah) -> totalRumus :

total = harga_kg x kg_beli Proses pemodelan suatu masalah dengan cara mengekstrak

variabel-variabel penting dan hubungan di antara variabel-variabel disebut abstraksi.

8

Page 9: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Dalam tahap design, kita menyusun algoritma(daftar langkah yang diperlukan untukmenyelesaikan masalah) dan memverifikasiapakah algoritma yang kita susun dapatmenyelesaikan masalah sesuai dengan yang kitainginkan.

Jangan berusaha secara langsung untukmenyelesaikan masalah secara detail pada saatmerancang algoritme. Gunakan pendekatan top down design (disebut juga divide and conquer), yaitu pendekatan yang dimulai dengan mendaftarlangkah-langkah utama atau submasalah yang diperlukan untuk menyelesaikan masalah utama, selanjutnya diikuti dengan menyusun penyelesaianuntuk setiap submasalah.

9

Page 10: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Algoritma adalah sekumpulan langkah-langkahterbatas untuk mencari solusi suatu masalah.

Berasal dari kata algoris dan ritmis. Awalnyadiungkapkan oleh Al Khowarizmi.

Di pemrograman, algoritma didefinisikansebagai metode yang terdiri dari langkah-langkah terstuktur untuk mencari solusi suatumasalah dengan bantuan komputer.

10

Page 11: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Hampir setiap algoritme komputer terdiri dari submasalah berikut:• Memasukkan data• Melakukan perhitungan• Menampilkan hasil

Proses penyusunan langkah-langkah penyelesaian untuk setiap submasalah yang berhasil diidentifikasi disebut penghalusan algoritme (algorithm refinement).

Untuk memverifikasi algoritme dilakukan desk checking, yaitu pemeriksaan setiap langkah dalam algoritme dengan cara mensimulasikan hasil eksekusi algoritme dengan perhitungan manual.

11

Page 12: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pada tahap ini dilakukan penulisan

program, yaitu mengkonversi algoritme

yang disusun pada tahap sebelumnya ke

dalam bahasa pemrograman yang

dipilih.

12

Page 13: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Setelah program sudah bisa dieksekusi,

dilakukan pengetesan program dengan

berbagai macam data, sehingga bisa

diverifikasi bahwa program sudah

bekerja sesuai dengan kebutuhan pada

berbagai situasi yang mungkin dihadapi

oleh program.

13

Page 14: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pemeliharaan dan peng-update-an program mencakup modifikasi program untuk menghilangkan error yang sebelumnya tidak terdeteksi dan untuk menjaga agar program tetap up-to-date (sesuai) dengan kebijakan pemerintah ataupun dengan perubahan kebijakan oganisasi.

Beberapa organisasi melakukan pemeliharaan program setiap 5 tahun sekali atau lebih, dan seringkali pemeliharaan program dilakukan oleh orang yang sebelumnya tidak terlibat dalam pengembangan program tersebut. Oleh karena itu, sangat penting untuk melakukan dokumentasi terhadap setiap tahap pengembangan software, sehingga proses pemeliharaan program bisa dilakukan dengan baik.

14

Page 15: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma Source

Code

Executable

Code

Page 16: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Problem :Dalam kerja praktek anda diminta untuk mempelajari beberapa peta. Peta-peta tersebut ada yang menggunakan satuan mil dan ada yang menggunakan satuan kilometer. Oleh pembimbing kerja praktek, anda diminta untuk mengkonversi semua jarak dalam mil ke dalam kilometer.

Analisis :“…. Oleh pembimbing kerja praktek, anda diminta untuk mengkonversi semua jarak dalam mil ke dalam kilometer.”Input :

Jarak dalam mil -> milOutput :

Jarak dalam kilometer -> kmRumus :

1 mil = 1.609 km

16

Page 17: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Design :Algoritme awal :1. Masukkan jarak dalam mil

2. Konversi jarak dari mil ke kilometer

3. Tampilkan hasil dalam kilometer

Penghalusan algoritme :1. Masukkan jarak dalam mil

2. Konversi jarak dari mil ke kilometer

2.1. Jarak dalam kilometer adalah 1.609 kali jarak dalam mil.

3. Tampilkan hasil dalam kilometer

Contoh desk check terhadap algoritma :Pada langkah 1, dimasukkan jarak 10 mil, langkah 2.1 akan mengkonversinya menjadi 1.609 x 10 menjadi 16.09 kilometer. Hasil ini akan ditampilkan di langkah 3.

17

Page 18: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Implementasi :/* Konversi jarak dari mil ke kilometer */

#include <stdio.h> /* definisi printf, scanf */

#include KM_PER_MIL 1.609 /*konstanta konversi */

int main(void) {double mil, /*input: jarak dalam mil*/

km; /*output: jarak dalam km*/

/* memasukkan jarak dalam mil */

printf(“Masukkan jarak dalam mil : “);

scanf(“%lf”, &mil);

/* konversi jarak ke kilometer */

km = KM_PER_MIL * mil;

/* tampilkan jarak dalam kilometer */

printf(“Hasil konversi adalah %lf kilometer.\n”, km);

return(0);

}

Contoh hasil runing program :Masukkan jarak dalam mil : 10.00

Hasil konversi adalah 16.090000 kilometer

18

Page 19: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pengetesan

Untuk memverifikasi bahwa program

sudah berjalan sesuai dengan kebutuhan,

cobalah mentest program dengan

memasukkan beberapa jarak dalam mil

yang lain.

19

Page 20: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Problem :Suatu dealer minyak menampung minyak jualannya di dalam drum-drum. Sementara semua pembeli selalu membeli minyak dengan membawa wadah yang sama berupa jerigen. Pemilik dealer agak kesulitan untuk menghitung harga minyak yang dibeli oleh pembeli, karena pembeli selalu membeli minyak dengan satuan jerigen (misalnya 3 jerigen, atau 3.5 jerigen), sementara harga jual yang diketahui adalah rupiah per drum, yaitu 100.000 rupiah per drum. Diketahui bahwa 1 jerigen isinya sama dengan 1/20 drum. Bisakah anda membantu pemilik dealer untuk memudahkan perhitungan harga total minyak yang dijual ke setiap pembeli?

20

Page 21: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

22

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Y

Y

T

T

Page 22: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

23

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Masalah:

Tentukan akar-akar dari suatu persamaan

kwadrat.

Definisi:

Persamaan kwadrat : ax^2 + bx + c = 0

Data yg diperlukan :

Nilai dari a, b dan c : tipe real

Page 23: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

24

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Model Matematika :

Rumus ABC

x1 = (-b + sqrt(b^2 - 4ac))/2a

x2 = (-b – sqrt(b^2 - 4ac))/2a

Page 24: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

25

TULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMA

Start

d = b^2 – 4ac

d < 0

Masukkan a,b,c

x1=(-b+sqrt(d))/2a

x2 =(-b-sqrt(d))/2a

Stop

YT

Cetak: x1, x2

Cetak:

“Akar majiner”

Page 25: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

26

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Page 26: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

27

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Page 27: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

28

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Page 28: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

29

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Page 29: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

30

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Page 30: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

31

DEFINISI

MASALAH

MEMBUAT

MODEL

RANCANG

ALGORITMATULIS PROGRAM

COMPILE

Sintak Err

Executable code:

=> Run

Output Err

DOKUMEN TASI

Page 31: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Algoritma bisa dibuat dengan:

• Teknik tulisan seperti : Structure english dan

Pseudocode.

• Teknik visual seperti : Flow chart.

32

Page 32: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Outline dari sebuah program komputer

Ditulis dalam bahasa Inggris atau Indonesia

sederhana

Kata kunci (keyword) digunakan untuk

menjelaskan struktur kendali (misalnya:

“jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)

33

Page 33: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Tujuh operasi dasar komputer:

1. Membaca data (Input)

2. Menampilkan data (Output)

3. Melakukan perhitungan aritmetika (Compute)

4. Memberikan nilai ke suatu identifier (Store)

5. Membandingkan dan Memilih (Compare)

6. Melakukan pengulangan (Loop)

7. Procedure dan atau Function

34

Page 34: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Sewaktu komputer menerima informasi atau

input, maka statement yang biasa digunakan

adalah “Read”, “Get”, “Baca” ,”Input” atau

“KeyIn”

Contoh:

Read Bilangan

Get kode_pajak

Baca nama_mahasiswa

35

Page 35: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Sewaktu komputer menampilkan informasiataupun output, maka statement yang biasadigunakan adalah “Print”, “Write”, “Put”, “Output”, “Display” ataupun “Cetak”

Contoh:

Print “Universitas Brawijaya”

Cetak “Dasar Pemrograman Komputer”

Output Total

36

Page 36: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Untuk melakukan operasi aritmetika digunakanpseudocode berikut:

+ untuk penjumlahan (add)- Untuk pengurangan (subtract) * Untuk perkalian (multiply)

/ Untuk pembagian (divide)() Untuk kurung

Statement “Compute”, “Calculate” ataupun“Hitung” juga dapat digunakan.

Contoh:

Add number to total Total = Total + number

37

Page 37: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Ada tiga cara untuk memberikan nilai ke dalamvariabel :

• Memberikan nilai awal, menggunakan statement“Initialize” atau “Set”

• Memberikan nilai sebagai hasil dari suatu proses, maka tanda “=“ digunakan

• Untuk menyimpan suatu nilai maka statement“Save” atau “Store” digunakan

Contoh:

Set Counter to 0

Total = Harga * Jumlah

38

Page 38: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Salah satu operasi terpenting yang dapatdilakukan komputer adalah membandingkan danmemilih salah satu alternatif solusi.

Keyword yang digunakan : “IF”, “THEN” dan“ELSE”

Contoh

IF Pilih=‘1’ THEN

Discount = 0.1 * hargaELSE

Discount = 0.2 * harga

ENDIF

39

Page 39: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Jika ada beberapa perintah yang harus diulang,

maka dapat digunakan keyword “DOWHILE”

dan “ENDDO”.

Contoh

Bil = 0

DOWHILE bil < 10

cetak bil

bil = bil +1

ENDDO

40

Page 40: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Algoritma Menggunakan Kalkulator

Mulai

Nyalakan kalkulator

Kosongkan Kalkulator

Ulangi

Input harga

Tekan tombol Plus (+)

Sampai semua harga diinput

Tampilkan total harga

Matikan kalkulator

Selesai

41

Page 41: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Algoritma Berangkat Kuliah

Mulai

Bangun dari tempat tidur

Mandi Pagi

Sarapan Pagi

Pergi Ke Kampus

Cari Ruang Kuliah

Masuk kelas untuk Kuliah

Selesai

42

Page 42: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Algoritma Sarapan Pagi

MulaiAmbil piring

Masukkan nasi dan lauk dalam piring

Ambil sendok dan garpu

Ulangi

Angkat sendok dan garpu

Ambil nasi dan lauk

Suapkan ke dalam mulut

Taruh sendok dan garpu

Kunyah

Sampai (nasi dan lauk habis) ATAU kekenyangan

Bereskan piring, sendok dan garpu

Selesai

43

Page 43: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

44

Terminator

Proses

Pemilihan

Input/Output

Dokumen

Pengulangan

Arah

Konektor antar

halaman

Konektor

Pemanggilan

Procedure

Page 44: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

45

Page 45: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

46

Page 46: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Hindari pengulangan proses yang tidak

perlu dan logika yang berbelit sehingga

jalannya proses menjadi singkat.

Jalannya proses digambarkan dari atas

ke bawah dan diberikan tanda panah

untuk memperjelas.

Sebuah flowchart diawali dari satu titik

START dan diakhiri dengan END atau

STOP.

47

Page 47: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

48

Start

d = b^2 – 4ac

d < 0

x1=(-b+sqrt(d))/2a

x2 =(-b-sqrt(d))/2a

End

Y

T

Masukkan

a,b,c

Cetak

x1,x2

Cetak Pesan

“Akar imajiner”

Page 48: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Mempunyai logika yang tepat untuk memecahkanmasalah.

Menghasilkan output yang benar dalam waktuyang singkat.

Ditulis dengan bahasa baku terstruktur sehinggatidak menimbulkan arti ganda.

Ditulis dengan format baku sehingga mudahdiimplementasikan kedalam bahasapemrograman.

Semua operasi didefinisikan dengan jelas danberakhir sesudah sejumlah langkah.

49

Page 49: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pemrograman terstruktur merupakan pola

penyusunan program komputer hanya

dengan menggunakan tiga struktur kontrol

yaitu:

1. Sequence

2. Selection

3. Repetition

50

Page 50: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Sequence merupakan urutan pengerjaan dari

perintah/statement pertama sampai dengan

perintah/statement terakhir.

Umumnya bahasa pemrograman mempunyai

sequence (urutan pengerjaan dari perintah /

statement ) mulai dari atas ke bawah dan dari

kiri ke kanan.

Top-down

51

Page 51: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Contoh:

Cetak “Jumlah Mahasiswa”

Set Jumlah to 49

Cetak “Tambahan mahasiswa baru”

Baca mhs_baru

Jumlah = Jumlah + mhs_baru

Cetak “Jumlah Mahasiswa”

Cetak jumlah

Penjelasan• Urutan pengerjaan adalah mulai dari urutan pertama sampai

dengan urutan terakhir, jika mhs_baru diisi dengan 2, makajumlah yang tercetak adalah 51

52

Page 52: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Struktur Kontrol Selection adalah

penggambaran sebuah kondisi dan pilihan

diantara dua aksi.

Statement Pertama akan dikerjakan jika

kondisi bernilai benar, jika tidak maka akan

mengerjakan perintah setelah keyword “else”

(jika ada).

53

Page 53: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Contoh :

IF Hari=1 THEN

Cetak “Senin”

ELSE

Cetak “Bukan hari Senin”

ENDIF

Penjelasan

• Tulisan “Senin” akan ditampilkan jika Hari bernilai

1, jika tidak maka tulisan “Bukan hari Senin” yang

akan ditampilkan

54

Page 54: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Beberapa statement / perintah dapat diulang

dengan menggunakan struktur kontrol

repetition.

Statement / perintah akan tetap diulang selama

kondisi perulangan memenuhi (jika

menggunakan DOWHILE – ENDDO)

55

Page 55: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Contoh:

Bintang = 0 DOWHILE bintang < 5

Cetak bintangbintang = bintang + 1

ENDDO

Penjelasan:

• Pertama kali bintang akan diisi dengan 0, setelah itu isi

dari bintang akan dicetak sebanyak lima kali, sehingga

tampilannya akan sebagai berikut: 0 1 2 3 4

56

Page 56: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Studi Kasus satu1. Menghitung Luas Permukaan kubus :6 *

luas sisi kubus

2. Menghitung Volume bola : 4/3*Phi* r3

3. Memperkirakan lama di jalan bila kecepatan

mobil 50 km/jam dan jarak tempuh 100 km :

lama di jalan = jarak/kecepatan

4. Mencari nilai akar persamaan ax2+bx+c=0

Page 57: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Problem: Hitung dan tampilkan luas permukan kubus.Analisis:

Hitung dan tampilkan luas permukaan kubus jika sisi kubus diketahui.

Input:

Panjang rusuk kubus (r) dalam satuan jarak.Output:

Luas permukaan kubus (luas)Rumus :

luas=6 x r x r

Page 58: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Algoritma :1. Masukkan rusuk kubus (r)

2. Hitung luas

luas = 6 x r x r

3. tampilkan luas

Page 59: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

PsuedoCode

60

start

read r;

Calculate luas=6 * r * r;

Display luas;

stop

Tulisan

disamping

seklias mirip

dengan bahasa

pemrograman,

padahal

sebenarnya

adalah bahasa

Indonesia/

Inggris yang

berisi urutan

proses dan

ditulis mirip

code program

Page 60: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Problem: Cari dan tampilkan akar-akar persamaan kuadrat ax2 + bx + c=0.

Analisis:Mencari nilai akar-akar persamaan kuadrat dan menampilkan hasilnya.

Input:

koefisien a, b, c Output:

x1, x2Rumus :

x1= (-b + √D )/2ax2= (-b - √D )/2adengan D = b2 – 4ac dan a ≠ 0

Page 61: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Algoritma :1. Masukkan koefisien a2. Masukkan koefisien b3. Masukkan koefisien c

4. Hitung DD = b2 – 4ac

5. Jika D<0 maka5.1 Tampilkan “Tidak ada akar real”

Jika tidak, maka

5.2 Hitung x1 x1= (-b + √D )/2a

5.3 Hitung x2 x2= (-b - √D )/2a

5.4 tampilkan x1

5.5 tampilkan x2

6. END

Page 62: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Contoh Psuedocode

63

start

baca a;

baca b;

baca c;

hitung D=b^2-4*a*c;

IF D<0 {

cetak "Tidak ada akar

real";

}

ELSE {

hitung x1=(-b+sqrt(D))/2a;

hitung x2=(-b-sqrt(D))/2a;

cetak x1;

cetak x2;

}

stop

Tulisan

disamping

seklias mirip

dengan bahasa

pemrograman,

padahal

sebenarnya

adalah bahasa

Indonesia/

Inggris yang

berisi urutan

proses dan

ditulis mirip

code program

Page 63: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

64

Start

d = b^2 – 4ac

d < 0

x1=(-b+sqrt(d))/2a

x2 =(-b-sqrt(d))/2a

End

Y

T

Masukkan

a,b,c

Cetak

x1,x2

Cetak “Tidak

ada akar real”

Page 64: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

1. Buatlah algoritma menggunakan pseudocode

untuk menghitung luas persegi panjang

2. Buatlah algoritma menggunakan pseudocode

untuk mengubah jam dan menit yang diinput

ke dalam satuan detik.

3. Buatlah algoritma menggunakan pseudocode

untuk menentukan apakah bilangan yang

diinput adalah bilangan ganjil atau bilangan

genap.

65

Page 65: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

4. Buatlah algoritma menggunakan pseudocode

untuk menghitung luas lingkaran.

5. Buatlah algoritma menggunakan pseudocode

untuk menginput 3 buah bilangan, kemudian

tentukan bilangan terbesar, terkecil dan rata-

ratanya.

66

Page 66: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Ulangi latihan no. 1 s/d no. 5 diatas

dengan menggunakan Flow Chart.

67

Page 67: Pertemuan 01 - adharul.lecture.ub.ac.id · program tetap up-to-date (sesuai) ... Set Counter to 0 ... Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Pak Tono diberi tugas mengambil air dari

sungai sebanyak 4 Liter. Pak Tono hanya

dibekali dua ember yang berukuran 5

liter dan 3 liter. Pak Tono dilarang

menggunakan alat bantu lain. Buatlah

langkah agar Pak Tono mendapatkan air

4 liter yang dimaksud!

68