You are on page 1of 62

Pertemuan 01

Pemrograman Dasar
2012

1
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
 Menjelaskan tentang konsep dasar pemrograman
komputer, algoritma dan tahapan pembuatan algoritma
pemrograman terstruktur.

2
• Konsep Dasar Pemrograman
• Definisi Algoritma
• Tahap Pengembangan Algoritma
• Penyajian algoritma
• Pseudocode
• Flow Chart
• Pemrograman Terstruktur

3
COMPUTER TO – COMPUTE + ER
(Menghitung/Mengolah bilangan)

(Mengolah Data)

Data yg Diolah PUSAT PENGOLAH DATA Data hasil pengolahan


(berbasis Arithmatika
(Masukan/Input) dan Logika) (Keluaran/Output)

Penyimpanan Data

4
 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 dan
saintifik
• Di bidang pemrograman digunakan metode pengembangan
software
 Langkah-langkah dalam metode pengembangan software:
1. Menspesifikan kebutuhan masalah -> identifikasi masalah
2. Menganalisis masalah -> metode penyelesaian terbaik
3. Merancang/mendesign algoritma untuk menyelesaikan
masalah -> Design pemrograman
4. Mengimplementasikan algoritma -> coding
5. Mentest dan memverifikasi program -> debuging; testing
6. Memelihara dan meng-update program -> maintenance

5
 Kita harus dapat menspesifikasikan masalah
dengan jelas dan tidak umbiguous dan
memiliki pemahaman yang jelas mengenai
apa yang diperlukan untuk menyelesaikan
masalah tersebut.
 Kita harus dapat mengeliminasi aspek-
aspek yang tidak penting dari masalah.
 Dalam langkah ini, kita mungkin
membutuhkan informasi dari orang-orang
yang terlibat dalam masalah tersebut.

6
 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
 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_kg
Output:
Total harga apel (dalam rupiah) -> total
Rumus :
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
 Dalam tahap design, kita menyusun algoritme
(daftar langkah yang diperlukan untuk
menyelesaikan masalah) dan memverifikasi
apakah algoritme yang kita susun dapat
menyelesaikan masalah sesuai dengan yang kita
inginkan.
 Jangan berusaha secara langsung untuk
menyelesaikan masalah secara detail pada saat
merancang algoritme. Gunakan pendekatan top
down design (disebut juga divide and conquer),
yaitu pendekatan yang dimulai dengan mendaftar
langkah-langkah utama atau submasalah yang
diperlukan untuk menyelesaikan masalah utama,
selanjutnya diikuti dengan menyusun penyelesaian
untuk setiap submasalah.

9
 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.

10
 Pada tahap ini dilakukan penulisan
program, yaitu mengkonversi algoritme
yang disusun pada tahap sebelumnya ke
dalam bahasa pemrograman yang
dipilih.

11
 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.

12
 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.

13
 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 -> mil
Output :
Jarak dalam kilometer -> km
Rumus :
1 mil = 1.609 km

14
 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.

15
 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

16
 Pengetesan
Untuk memverifikasi bahwa program
sudah berjalan sesuai dengan kebutuhan,
cobalah mentest program dengan
memasukkan beberapa jarak dalam mil
yang lain.

17
 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?

18
 Algoritmaadalah sekumpulan langkah-langkah
terbatas untuk mencari solusi suatu masalah.
 Berasal
dari kata algoris dan ritmis. Awalnya
diungkapkan oleh Al Khowarizmi.
 Dipemrograman, algoritma didefinisikan
sebagai metode yang terdiri dari langkah-
langkah terstuktur untuk mencari solusi suatu
masalah dengan bantuan komputer.

20
MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma Source Executable


Code Code
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Y Sintak Err
T
Executable code:
=> Run

Y
Output Err
T
DOKUMEN TASI

22
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Masalah:
Tentukan akar-akar dari suatu persamaan Sintak Err
kwadrat.
Definisi: Executable code:
Persamaan kwadrat : ax^2 + bx + c = 0 => Run

Data yg diperlukan :
Nilai dari a, b dan c : tipe real Output Err

DOKUMEN TASI

23
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Model Matematika : Sintak Err

Rumus ABC
Executable code:
x1 = (-b + sqrt(b^2 - 4ac))/2a => Run
x2 = (-b – sqrt(b^2 - 4ac))/2a

Output Err

DOKUMEN TASI

24
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

Start COMPILE

Masukkan a,b,c
Sintak Err
d = b^2 – 4ac

d<0 Executable code:


Y
T => Run

x1=(-b+sqrt(d))/2a Cetak:
x2 =(-b-sqrt(d))/2a “Akar majiner”
Output Err
Cetak: x1, x2
DOKUMEN TASI
Stop 25
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

26
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

27
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

28
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

29
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

30
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

31
 Algoritma bisa dibuat dengan:
• Teknik tulisan seperti : Structure english dan
Pseudocode.
• Teknik visual seperti : Flow chart.

32
 Outline dari sebuah program komputer
 Ditulis
dalam bahasa Inggris atau Indonesia
sederhana
 Katakunci (keyword) digunakan untuk
menjelaskan struktur kendali (misalnya:
“jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)

33
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
 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
 Sewaktu komputer menampilkan informasi
ataupun output, maka statement yang biasa
digunakan adalah “Print”, “Write”, “Put”,
“Output”, “Display” ataupun “Cetak”
 Contoh:
Print “Universitas Brawijaya”
Cetak “Dasar Pemrograman Komputer”
Output Total

36
 Untuk melakukan operasi aritmetika digunakan
pseudocode 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
 Ada tiga cara untuk memberikan nilai ke dalam
variabel :
• 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
 Salah satu operasi terpenting yang dapat
dilakukan komputer adalah membandingkan dan
memilih salah satu alternatif solusi.
 Keyword yang digunakan : “IF”, “THEN” dan
“ELSE”
 Contoh
IF Pilih=‘1’ THEN
Discount = 0.1 * harga
ELSE
Discount = 0.2 * harga
ENDIF

39
 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
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
Algoritma Berangkat Kuliah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Kampus
Cari Ruang Kuliah
Masuk kelas untuk Kuliah
Selesai

42
Algoritma Sarapan Pagi
Mulai
Ambil 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
Terminator Arah

Proses Konektor

Input/Output Konektor antar


halaman
Dokumen
Pemanggilan
Procedure
Pemilihan

Pengulangan
44
Start

Masukkan
a,b,c

d = b^2 – 4ac
Y
d<0
T
x1=(-b+sqrt(d))/2a Cetak Pesan
x2 =(-b-sqrt(d))/2a “Akar imajiner”

Cetak
x1,x2

Stop
45
 Mempunyai logika yang tepat untuk memecahkan
masalah.
 Menghasilkan output yang benar dalam waktu
yang singkat.
 Ditulis dengan bahasa baku terstruktur sehingga
tidak menimbulkan arti ganda.
 Ditulis dengan format baku sehingga mudah
diimplementasikan kedalam bahasa
pemrograman.
 Semua operasi didefinisikan dengan jelas dan
berakhir sesudah sejumlah langkah.
46
 Pemrograman terstruktur merupakan pola
penyusunan program komputer hanya
dengan menggunakan tiga struktur kontrol
yaitu:
1. Sequence
2. Selection
3. Repetition

47
 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

48
 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, maka
jumlah yang tercetak adalah 51

49
 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).

50
 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

51
 Beberapa statement / perintah dapat diulang
dengan menggunakan struktur kontrol
repetition.
 Statement/ perintah akan tetap diulang selama
kondisi perulangan memenuhi (jika
menggunakan DOWHILE – ENDDO)

52
 Contoh:
Bintang = 0
DOWHILE bintang < 5
Cetak bintang
bintang = 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:
01234

53
 Studi Kasus satu
1. 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
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
 Algoritma :
1. Masukkan rusuk kubus (r)
2. Hitung luas
luas = 6 x r x r
3. tampilkan luas
 PsuedoCode
Tulisan
disamping
start seklias mirip
read r; dengan bahasa
Calculate luas=6 * r * r; pemrograman,
Display luas; padahal
stop sebenarnya
adalah bahasa
Indonesia/
Inggris yang
berisi urutan
proses dan
ditulis mirip
code program

57
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, x2
Rumus :
x1= (-b + √D )/2a
x2= (-b - √D )/2a
dengan D = b2 – 4ac dan a ≠ 0
 Algoritma :
1. Masukkan koefisien a
2. Masukkan koefisien b
3. Masukkan koefisien c
4. Hitung D
D = b2 – 4ac
5. Hitung x1
x1= (-b + √D )/2a
6. Hitung x2
x2= (-b - √D )/2a
7. tampilkan x1
8. tampilkan x2
 Contoh Psuedocode
start
Tulisan
baca a;
disamping
baca b; seklias mirip
baca c; dengan bahasa
hitung D=b^2-4*a*c; pemrograman,
IF D<0 { padahal
cetak "Tidak ada akar real"; sebenarnya
} adalah bahasa
ELSE { Indonesia/
hitung x1=(-b+sqrt(D))/2a; Inggris yang
berisi urutan
hitung x2=(-b-sqrt(D))/2a;
proses dan
cetak x1; ditulis mirip
cetak x2; code program
}
stop
60
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.

61
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.

62
 Ulangi
latihan no. 1 s/d no. 5 diatas
dengan menggunakan Flow Chart.

63

You might also like