Anda di halaman 1dari 65

Struktur Dasar Program Prosedural

(dalam Bahasa Matlab + Flowchart)


Tim Penyusun Materi PTI-B

KU1072/Pengenalan Teknologi Informasi B


Tahap Tahun Pertama Bersama
Institut Teknologi Bandung
Tujuan
Subtopik
Input Proses Output dalam program
Deklarasi dan penggunaan variabel, type (dasar dan bentukan),
konstanta, ekspresi (aritmatika, relasional, dan logika)
Input/output
Sekuens
Flowchart terkait
Contoh kasus
Outcome
Memahami makna dan penggunaan variable, type, konstanta,
input/output, dan sekuens.
Memahami persoalan yang dapat dikonversi menjadi program
sederhana dengan memanfaatkan variable, type, konstanta, ekspresi
dasar, input/output, dan sekuens

02/12/2017 KU1072/Pengantar Teknologi Informasi B 2


MATLAB
MATLAB (yang berarti "matrix laboratory") diciptakan
pada akhir tahun 1970-an oleh Cleve Moler
Kini digunakan di bidang pendidikan, khususnya
dalam pengajaran aljabar linear dan analisis numerik,
serta populer di kalangan ilmuwan yang menekuni
bidang pengolahan citra
Dalam kuliah ini, hanya akan menggunakan
paradigma prosedural
Merupakan bahasa yang case sensitive perbedaan
huruf besar dan kecil berpengaruh

02/12/2017 KU1072/Pengantar Teknologi Informasi B 3


Masukan Proses Luaran

Input Proses Output

input (A) output (A)


A A + B
input (B) output (B)

Matlab
A=input() A
A = A + B;
B=input() B
02/12/2017 KU1072/Pengantar Teknologi Informasi B 4
Mulai

Flowchart Umum
Input(A)

Proses

Output(A)

Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 5
Struktur Dasar Program Prosedural
Secara Umum
Program <JudulProgram>
%Spesifikasi Program
KAMUS
%Deklarasi type, variabel, konstanta, fungsi, prosedur
%pada matlab deklarasi variabel tidak dibutuhkan
ALGORITMA
%Deretan langkah algoritmik untuk penyelesaian
%persoalan
%DAPAT DISUSUN DALAM FLOWCHART

02/12/2017 KU1072/Pengantar Teknologi Informasi B 6


Struktur Dasar Program Prosedural
(C++)
% Program <JudulProgram>
% Spesifikasi Program

clc

clear all

% ALGORITMA
% Deretan langkah algoritmik untuk penyelesaian persoalan

02/12/2017 KU1072/Pengantar Teknologi Informasi B 7


Contoh Program Mulai

dan Flowchart input(A)


Program Test input(B)
%Menghitung A + B

KAMUS A=A+B
%Pada Matlab tidak perlu B=B-A
ALGORITMA
%Lihat flowchart
output(A)
output(B)

Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 8
Struktur Dasar Program Prosedural
%Program Test Judul Program +
%Spesifikasi : Menghitung nilai A dan B spesifikasi, dituliskan
dalam komentar
Clc
Clear all Bagian ini ditambahkan untuk
membersihkan memori (clear all)
%ALGORITMA Matlab dan membersihkan
A=input(); %input command line (clc)
B=input();
A = A + B; // proses KAMUS: deklarasi
B = B A; variabel A dan B
A %output
B ALGORITMA:
Input,
Proses,
Output

02/12/2017 KU1072/Pengantar Teknologi Informasi B 9


Komentar
Dalam bahasa pemrograman komentar adalah
bagian program yang tidak dieksekusi
Bagian ini hanya digunakan untuk memberikan penjelasan
suatu langkah, rumus ataupun bisa hanya berupa
keterangan
Dalam Matlab komentar dituliskan sebagai:
diawali dengan % :
% misalnya seperti ini

02/12/2017 KU1072/Pengantar Teknologi Informasi B 10


Kamus:
Tipe Data, Variabel, Konstanta

02/12/2017 KU1072/Pengantar Teknologi Informasi B 11


Kamus
Kamus dipakai untuk mendeklarasi nama-nama yang
digunakan dalam program
Deklarasi BUKAN instruksi
Pada bahasa MATLAB tidak memerlukan Kamus
untuk deklarasi

02/12/2017 KU1072/Pengantar Teknologi Informasi B 12


Variabel (1)

Variabel digunakan menyimpan suatu nilai yang ber-


tipe data tertentu
Merepresentasikan suatu makna di dunia nyata yang
ingin diolah dalam program, misalnya:
Sum : jumlah beberapa angka
Max : nilai maksimum
Variabel :
nama variabel (supaya nama dikenal)
inisialisasi nilai (siap dimanipulasi)
02/12/2017 KU1072/Pengantar Teknologi Informasi B 13
Variabel (2) MATLAB
% ALGORITMA
Contoh inisialisasi ....
i = 100;
variabel:
A = i * 50;
....

02/12/2017 KU1072/Pengantar Teknologi Informasi B 14


Membuat Nama Variabel yang Benar dan baik
Nama variabel harus dimulai dengan huruf dan dapat
diikuti dengan huruf lagi dan angka
Tidak boleh ada tanda baca
Dalam nama variabel tidak boleh dipisahkan oleh
spasi
Cari nama variabel yang bisa dimengerti
Agar tidak membingungkan
Matlab adalah bahasa yang case sensitive
Kesalahan penulisan huruf besar dan kecil menyebabkan
error

02/12/2017 KU1072/Pengantar Teknologi Informasi B 15


Contoh yang benar Contoh yang salah
Total 3Roda
Jumlah Jumlah,total
A 8
Benar atau salah?
Kar2string
Total45
-angka
zzzz
SuperDayaGuna
Lum4588abc
02/12/2017 KU1072/Pengantar Teknologi Informasi B 16
Tipe Data (1)
Setiap data memiliki jenis yang berbeda-beda
Data umur seseorang berbeda dengan data nama
Data Umur dibentuk dari kumpulan angka
Data nama dibentuk dari serangkaian huruf
Untuk setiap jenis data juga memiliki rentang (range) yang
berbeda
Data umur rentangnya antara 1 sampai 100 (bila diasumsikan
bahwa umur seseorang tidak lebih dari 100).
Data nama rentangnya mulai dari 1 sampai 50 (bila di anggap
nama tidak ada yang melebihi 50 huruf

02/12/2017 KU1072/Pengantar Teknologi Informasi B 17


Tipe Data (2)
Nilai yang diperbolehkan untuk variabel tergantung
pada tipe data-nya
Tipe data mendefinisikan himpunan nilai-nilai
tertentu, misalnya:
Tipe data integer : himpunan nilai yang terdiri atas
bilangan bulat (negatif, 0, positif)
Tipe data boolean: himpunan nilai yang terdiri atas nilai
true dan false

02/12/2017 KU1072/Pengenalan Teknologi Informasi B 18


Jenis Tipe Data (1)
Tipe data primitif atau tipe dasar
Disediakan oleh bahasa pemrograman
MATLAB Domain Nilai
bool Boolean: true = 1; false = 0
int Integer/bilangan bulat: bilangan bulat negatif, 0, bilangan
bulat positif
Contoh: 1; -144; 999; 0
float Bilangan riil, contoh: 3.14; 4.01E+1
char Character: karakter/huruf, ditandai dengan kutip tunggal;
Contoh: A; #; b
string Kumpulan karakter/huruf, ditandai dengan kutip tunggal
Contoh: xcxcx

02/12/2017 KU1072/Pengantar Teknologi Informasi B 19


Contoh Penentuan Tipe Data Variabel
Umur Integer contoh: 25; 44; 35
Kota String, contoh: Jakarta; Bandung
Nama String, contoh: Budi; Ali
Suhu Integer atau float, contoh: 37.5; 100
Luas Integer atau float, contoh: 400; 43.5
BeratBadan Integer atau float, contoh: 60.5; 75
NIM Integer atau string?, contoh: 15812001

02/12/2017 KU1072/Pengantar Teknologi Informasi B 20


Jenis Tipe Data (2)
Tipe data bentukan / komposit / record
Tidak tersedia secara otomatis, harus dibuat oleh programmer
Dibentuk dari gabungan tipe dasar
Contoh:
MATLAB
Syntax s = struct('field1', {}, 'field2', {}, ...)

Contoh s = struct(a,{1},b,{2},c,{3});

OR

s.a = 1;
s.b = 2;
s.c = 3;

02/12/2017 KU1072/Pengantar Teknologi Informasi B 21


Jenis Tipe Data (3)
Tipe data bentukan / komposit / record

clc

clear all

% ALGORITMA

P = struct('x', {0}, 'y', {1})


% Mengisi data ke dalam struct P dalam field x & y
% Dalam struct P, terisi field x = 0 , dan y = 1

a = P.x % Mengisi variabel a dengan nilai x = 0

b = P.y + 1 % Mengisi variabel b dengan nilai y + 1 = 2

02/12/2017 KU1072/Pengantar Teknologi Informasi B 22


Konstanta
Terdapat konstanta matematika yang
disediakan oleh MATLAB, yaitu:
eps Floating-point relative accuracy
i Imaginary unit
Inf Infinity
intmax Largest value of specified integer
type
intmin Smallest value of specified integer
type
j Imaginary unit
NaN Not-a-Number
pi Ratio of circle's circumference to its
diameter
realmax Largest positive floating-point
number
realmin Smallest positive normalized
floating-point number
02/12/2017 KU1072/Pengantar Teknologi Informasi B 23
ALGORITMA:
Assignment, Ekspresi,
Input/Output,
Aksi Sekuensial

02/12/2017 KU1072/Pengantar Teknologi Informasi B 24


Algoritma
Adalah bagian program dalam bentuk teks algoritmik
yang berisi instruksi atau pemanggilan aksi
Teks algoritmik tsb. dapat berupa:
Perintah dasar: Input/Output, assignment
Perintah perintah yang berurutan
Analisis kasus (jika-maka)
Pengulangan dll.

02/12/2017 KU1072/Pengantar Teknologi Informasi B 25


Pemberian Nilai
Suatu besaran (dengan tipe tertentu),
misalnya variabel, yang telah dikenal dapat
diberi nilai/harga
Pemberian nilai:
Pemberian nilai langsung atau disebut sebagai
assignment
Contoh: A = 10;
Dibaca dari piranti masukan (perintah input)
Contoh: A=input()
KU1071/Pengantar Teknologi Informasi
A/Sem 1 2011-2012
Assignment
Assignment: Pemberian nilai suatu variabel
Ruas kiri harus variable
Ruas kanan harus ekspresi/nilai/variabel yang sudah
jelas nilainya
Matlab
<RuasKiri> = <RuasKanan>;
Contoh:
i = 10; Nilai X di-assign
Nama = Maya; dengan ekspresi
X = i + 10;

02/12/2017 KU1072/Pengantar Teknologi Informasi B 27


Ekspresi
Operasi yang bisa diberlakukan tergantung pada tipe
data
Struktur umum (operasi biner):
<operan1> <operator> <operan2>
Tipe data hasil operasi tergantung pada tipe data operan
Operan tidak hanya berupa nilai/variable, bisa berupa
ekspresi
Jenis:
Ekspresi biner : 2 operan, contoh operator: * - / and or
Ekspresi uner : 1 operan, contoh operator: not
02/12/2017 KU1072/Pengenalan Teknologi Informasi B 28
Jenis Ekspresi
MATLAB
Ekspresi Aritmatika: operan numerik A + B
(integer/real), hasil: numerik (integer/real) x + 2 * y
P 2 * Q + R/S
Ekspresi Relasional: operan numerik A < B
(integer/real), hasil: boolean X == Y
Total >= nilai
Ekspresi Logika: operan: boolean, hasil : A && B
boolean C || B

02/12/2017 KU1072/Pengantar Teknologi Informasi B 29


Operasi pada nilai suatu tipe data
Operasi perhitungan akan memerlukan operator
seperti +, -, * dan / (tambah, kurang, kali
dan bagi) untuk melakukan kalkulasi
Tidak semua operator dapat digunakan untuk tipe
data numerik.
Contoh: Halo * Apa kabar

02/12/2017 KU1072/Pengantar Teknologi Informasi B 30


Operasi tipe dasar
int : * / + - % < > <= >= == !=
bool : && || ! !=
float : * / + - < > <= >= !=
char : == !=
string : == !=

02/12/2017 KU1072/Pengantar Teknologi Informasi B 31


Operasi Aritmatik
Operator Description
+ Addition
- Subtraction
.* Multiplication
./ Right division
.\ Left division
+ Unary plus
- Unary minus
: Colon operator
.^ Power
.' Transpose
' Complex conjugate transpose
* Matrix multiplication
/ Matrix right division
\ Matrix left division
^ Matrix power

02/12/2017 KU1072/Pengantar Teknologi Informasi B 32


Input/Output (1)
Perintah Input: pemberian nilai variabel dari piranti masukan,
misal: keyboard dibaca atas masukan dari pengguna
Perintah di Matlab: input ()
Contoh:
A=input( );
% mengisi nilai A dengan masukan dari
% keyboard/pengguna

Untuk menginput tulisan (string), perintahnya: input(,s)


Contoh:
A = input(,s);
% mengisi nilai A dengan masukan berupa tulisan/kalimat dari
% keyboard/pengguna

02/12/2017 KU1072/Pengenalan Teknologi Informasi B 33


Input/Output (2)
Perintah output: penulisan nilai (variabel/konstanta/hasil ekspresi) ke
piranti keluaran, misal: monitor
Perintah di Matlab: variabel
Contoh:
A % menulis isi variabel A ke layar,
% diakhiri enter
Hello % menulis Hello ke layar
A * 4 % menulis hasil perkalian A*4
Pi % menulis nilai konstanta PI

Terdapat sintaks dalam MATLAB yaitu:


disp (variabel) bisa menampilkan tulisan serta angka dalam satu
perintah
Contoh:
disp([Nilai A adalah: ,num2str(A)])
% num2str(A) untuk mengkonversi A ke tipe string

02/12/2017 KU1072/Pengenalan Teknologi Informasi B 34


Latihan-1
Buatlah program yang menampilkan hasil
perhitungan luas lingkaran berdasarkan masukan
nilai jari-jari

02/12/2017 KU1072/Pengantar Teknologi Informasi B 35


Menghitung Luas Mulai
Lingkaran
(Flowchart) input(jarijari)

Program HitungLuasLingkaran
% Menghitung luas lingkaran
% berdasarkan masukan jari-jari
luas = 3.14 * jarijari * jarijari
KAMUS %matlab terdeklarasi otomatis
saat input%

ALGORITMA
% Lihat flowchart output(luas)

Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 36
Menghitung Luas Lingkaran (MATLAB)
%Program HitungLuasLingkaran
%Menghitung luas lingkaran berdasarkan jari-jari
clc
clear all

%Pada matlab pendefinisian variabel tidak Algoritma


%dibutuhkan berbeda dengan C++

%ALGORITMA
jarijari=input(jari-jari);
Luas = pi() * (jarijari)^2;
Luas %memanggil nilai variabel

02/12/2017 KU1072/Pengantar Teknologi Informasi B 37


Alternatif: Mulai

Menghitung Luas
Lingkaran (Flowchart) input(jarijari)

Program HitungLuasLingkaran
%Menghitung luas lingkaran
%berdasarkan masukan jari-jari luas = PI * jarijari * jarijari

KAMUS %matlab terdeklarasi otomatis


saat input%

ALGORITMA output(luas)
%Lihat flowchart

Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 38
Menghitung Luas Lingkaran (C++) - Alternatif
% Program HitungLuasLingkaran
% Menghitung luas lingkaran berdasarkan jari-jari

clc
clear all Algoritma
% ALGORITMA
jarijari=input(Jari Jari: );
luas=pi * jarijari * jarijari;
luas;

02/12/2017 KU1072/Pengantar Teknologi Informasi B 39


Latihan-2
Buatlah program untuk Mulai

menghitung luas segi


tigaberdasarkan masukan input(alas)
alas dan tinggi Input(tinggi)

Program HitungLuasSegitiga
%Menghitung luas segitiga
%berdasarkan masukan alas dan luas = 0.5 * alas * tinggi
%tinggi segitiga
KAMUS %matlab terdeklarasi
otomatis saat input%
output(luas)
ALGORITMA
%lihat flowchart

Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 40
Menghitung Luas Segitiga (C++)
%Program HitungLuasSegitiga
%Menghitung luas segitiga berdasarkan alas dan tingginya
clc
clear all
%ALGORITMA
alas=input(alas=);
tinggi=input(tinggi);

luas =0.5 *alas*tinggi;

Luas

02/12/2017 KU1072/Pengantar Teknologi Informasi B 41


Latihan-3
Buat program menghitung rata-rata dari tinggi badan
5 anak
Program akan menerima masukan data tinggi badan untuk
5 orang anak
Kemudian program akan menghitung tinggi rata-rata dari
ke lima anak tersebut

02/12/2017 KU1072/Pengantar Teknologi Informasi B 42


Mulai
Menghitung Tinggi Rata-Rata
(Flowchart) input(t1, t2,
t3, t4, t5)

Program TinggiRataRata
%Menghitung tinggi rata-
% rata 5 anak ratarata = (t1+t2+t3+t4+t5)/5

KAMUS
%matlab terdeklarasi
otomatis saat input%
output(ratarata)
int t1, t2, t3, t4, t5;
float ratarata;
ALGORITMA
%lihat flowchart Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 43
Menghitung Tinggi Rata-Rata Matlab
%Program TinggiRataRata
%Hitung tinggi rata-rata 5 anak
% ALGORITMA
tinggi1=input(tinggi1);
Tinggi2=input(tinggi2);
Tinggi3=input(tinggi3);
Tinggi4=input(tinggi4);
Tinggi5=input(tinggi5);

ratarata = (tinggi1 + tinggi2 + tinggi3 +tinggi4 + tinggi5)/5

02/12/2017 KU1072/Pengantar Teknologi Informasi B 44


Definisi Aksi Sekuensial
Aksi sekuensial
sederetan instruksi primitif dan/atau aksi yang
akan dilaksanakan (dieksekusi) oleh komputer
berdasarkan urutan penulisannya
Setiap aksi akan mengubah status dari program
Jadi setiap aksi sekuensial harus ada awal dan akhir.
atau dengan kata lain suatu program harus dimulai dan
suatu ketika harus berakhir
Program yang tidak pernah berhenti adalah program yang
salah atau error

02/12/2017 KU1072/Pengantar Teknologi Informasi B 45


Penulisan untuk Instruksi Sekuensial
Instruksi ditulis terurut sesuai penulisan per baris
Setiap instruksi tidak selalu diakhiri dengan tanda
titik koma
Namun dalam satu baris dapat terdiri lebih dari satu
instruksi, dengan penambahan titik koma (;) di akhir
instruksi

02/12/2017 KU1072/Pengantar Teknologi Informasi B 46


Contoh aksi sekuensial
% contoh aksi sekuensial per % contoh aksi sekuensial dg titik koma %
% baris

% Algoritma % Algoritma
i=input (); i=input ();x = 100.75;
x = 100.75; x
i*2
x
i*2
Perhatikan bahwa keduanya memliki
urutan eksekusi yang sama dan juga hasil
eksekusi yang identik.
Perbedaannya hanyalah di cara
penulisannya. Mana yang lebih baik
penulisannya?

02/12/2017 KU1072/Pengantar Teknologi Informasi B 47


Perhatikan bahwa:
ada program yang akan berubah jika urutan
baris instruksinya berubah
dan ada juga program yang tidak berubah
jika urutan baris instruksinya berubah

02/12/2017 KU1072/Pengantar Teknologi Informasi B 48


Pengubahan urutan eksekusi yang
tidak mengubah hasil eksekusi
% contoh aksi sekuensial per % contoh aksi sekuensial per
% baris % baris

% Algoritma % Algoritma
i=input (); x = 100.75;
x = 100.75; i=input ();

x x
i*2 i*2

02/12/2017 KU1072/Pengantar Teknologi Informasi B 49


Pengubahan urutan eksekusi yang
mengubah hasil eksekusi
% contoh aksi sekuensial per % contoh aksi sekuensial per
% baris % baris

% Algoritma % Algoritma
i=input (); i=input ();
x = 100.75; x = 100.75;

x i*2
i*2 x

02/12/2017 KU1072/Pengantar Teknologi Informasi B 50


Latihan-4:
Menghitung Jarak
Buatlah program untuk menghitung jarak
berdasarkan masukan kecepatan dan waktu
Dekomposisi masalah:
Program menerima masukan kecepatan
Kemudian program menerima masukan waktu
Lalu program akan melakukan perhitungan jarak
Kemudian menampilkan hasil perhitungan

02/12/2017 KU1072/Pengantar Teknologi Informasi B 51


Menghitung Jarak Mulai

(Flowchart)
input(v, t)

Program HitungJarak
%Menghitung jarak berdasarkan
%masukan kecepatan (v) dan s := v * t
%waktu (t)
KAMUS
%matlab terdeklarasi otomatis
%saat input output(s)
ALGORITMA
%lihat flowchart
Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 52
Menghitung Jarak (C++) (1)
% Program HitungJarak
% Menghitung jarak berdasarkan masukan
% kecepatan (v) dan waktu (t)

clc

clear all

% ALGORITMA

v = input('');
t = input('');

jarak = v * t

02/12/2017 KU1072/Pengantar Teknologi Informasi B 53


Menghitung Jarak (C++) (2)
% Program HitungJarak
% Menghitung jarak berdasarkan masukan
% kecepatan (v) dan waktu (t)

clc

clear all

% ALGORITMA

v = input('v: ');
t = input('t: ');

jarak = v * t;

disp('Jarak nya adalah = ')


disp(jarak)
02/12/2017 KU1072/Pengantar Teknologi Informasi B 54
Latihan-5:
Jumlah 2 Pecahan
Buat program yang menerima masukan 2 pecahan
dan menghitung penjumlahannya
Spesifikasi program
Program menerima masukan pecahan pertama berupa
pembilang dan penyebut
Kemudian program menerima pecahan kedua
Lalu program akan melakukan penjumlahan
Kemudian menampilkan hasilnya berupa pembilang dan
penyebut hasil penjumlahan

02/12/2017 KU1072/Pengantar Teknologi Informasi B 55


Langkah Solusi (1)

Program menerima masukan pecahan pertama


berupa pembilang dan penyebut
input(pembilang1);
input(penyebut1)
Kemudian program menerima pecahan kedua
input(pembilang2);
input(penyebut2);

02/12/2017 KU1072/Pengantar Teknologi Informasi B 56


Langkah Solusi (2)
Lalu program akan melakukan penjumlahan
+
+ =

pembilang3 =
pembilang1 * penyebut2 + pembilang2 * penyebut1;
penyebut3 = penyebut1 * penyebut2;
Kemudian menampilkan hasilnya berupa pembilang dan
penyebut hasil penjumlahan
output(pembilang3);
output(penyebut3);

02/12/2017 KU1072/Pengantar Teknologi Informasi B 57


Jumlah 2 Pecahan Mulai

(Flowchart)
input(pembilang1)
Program JumlahPecahan;
input(penyebut1)
%Menghitung pembilang dan input(pembilang2)
%penyebut pecahan dari input(penyebut2)
%penjumlahan dua buah pecahan
%yang diketahui pembilang dan
%penyebutnya
pembilang3 = pembilang1 * penyebut2 +
KAMUS pembilang2 * penyebut1
penyebut3 = penyebut1 * penyebut2
%matlab terdeklarasi otomatis
%saat input
ALGORITMA
output(pembilang3)
{ lihat flowchart }
output(penyebut3)

Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 58
clc
clear all
% Program JumlahPecahan
% Menghitung pembilang dan penyebut pecahan dari penjumlahan
% dua buah pecahan yang diketahui pembilang dan penyebutnya

% ALGORITMA
pembilang1=input(pembilang1);
penyebut1=input(penyebut1); Jumlah 2 Pecahan
pembilang2=input(pembilang1);
penyebut2=input(penyebut2);
(Matlab)
pembilang3 = pembilang1 * penyebut2 + pembilang2 * penyebut1;
penyebut3 = penyebut2 * penyebut1;

pembilang3
penyebut3

02/12/2017 KU1072/Pengantar Teknologi Informasi B 59


Alternatif:
Mulai
Jumlah 2 Pecahan
(Flowchart)
input(P1)
Program JumlahPecahan input(P2)
{ ... }
ALGORITMA
% lihat flowchart
P3.pembilang := P1.pembilang *
P2.penyebut + P2.pembilang * P1.penyebut
P3.penyebut := P1.penyebut * P2.penyebut

output(P3)

Selesai
02/12/2017 KU1072/Pengantar Teknologi Informasi B 60
% Program KaliPecahan
% Menghitung pembilang dan penyebut pecahan dari perkalian
% dua buah pecahan yang diketahui pembilang dan penyebutnya

clc

clear all
Jumlah 2 Pecahan
% ALGORITMA (MATLAB)
P1.pembilang = input('');
P1.penyebut = input('');
Alternatif
P2.pembilang = input('');
P2.penyebut = input('');

P3.pembilang = P1.pembilang*P2. penyebut + P2.pembilang*P1.penyebut;


P3.penyebut = P1.penyebut * P2.penyebut;

P3.pembilang
P3.penyebut

02/12/2017 KU1072/Pengantar Teknologi Informasi B 61


// Program KaliPecahan
// Menghitung pembilang dan penyebut pecahan dari perkalian
// dua buah pecahan yang diketahui pembilang dan penyebutnya
#include <iostream>
using namespace std;
// KAMUS
typedef struct {
int pembilang; Jumlah 2 Pecahan
int penyebut;
} Pecahan;
(C++)
int main() {
// KAMUS
Alternatif
Pecahan P1, P2, P3;

// ALGORITMA
cin >> P1.pembilang; cin >> P1.penyebut;
cin >> P2.pembilang; cin >> P2.penyebut;

P3.pembilang = P1.pembilang*P2. penyebut + P2.pembilang*P1.penyebut;


P3.penyebut = P1.penyebut * P2.penyebut;

cout << P3.pembilang;


cout << P3.penyebut;

return
02/12/20170; KU1072/Pengantar Teknologi Informasi B 62
}
Soal-1
Buatlah sebuah program yang membaca dari
keyboard
Panjang dari suatu persegi empat, misalnya p,
Lebar dari suatu persegi empat, misalnya l
Asumsikan masukan panjang dan lebar selalu > 0
Panjang dan lebar adalah bilangan real
Selanjutnya program menuliskan ke layar luas persegi
empat, misalnya LPS, yang dihitung dengan rumus :
LPS = p * l

02/12/2017 KU1072/Pengantar Teknologi Informasi B 63


Soal-2
Sebuah program yang mengelola type bentukan point
sebagai berikut:
type point : < X : integer; { absis }
Y : integer { ordinat } >
Buatlah program yang membaca dua buah point,
misalnya P1 dan P2 dan tuliskan jarak antara kedua point
tersebut
Rumus perhitungan jarak 2 point:
( x1 x2 ) ( y1 y2 )
2 2

Gunakan instruksi sqrt (X) untuk perhitungan akar


kuadrat dan X * X untuk perhitungan kuadrat

02/12/2017 KU1072/Pengantar Teknologi Informasi B 64


Soal-3
Buatlah sebuah program yang menerima masukan 2
buah Jam (dalam jam, menit, dan detik), misalnya J1
dan J2 dan menghitung selisih di antara keduanya
(dalam jam, menit, detik)
Asumsikan J1 lebih awal atau sama dengan J2
Misalnya: J1 = 12:0:0 dan J2 = 13:0:1 maka selisihnya
adalah 1:0:1 (1 jam 0 menit 1 detik)
Petunjuk: Untuk mengubah jam menjadi jumlah
detik gunakan rumus: jam * 3600 + menit * 60 +
detik

02/12/2017 KU1072/Pengantar Teknologi Informasi B 65

Anda mungkin juga menyukai