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

01/26/2021 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
01/26/2021 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
01/26/2021 KU1072/Pengantar Teknologi Informasi B 4
Mulai

Flowchart Umum
Input(A)

Proses

Output(A)

Selesai
01/26/2021 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

01/26/2021 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

01/26/2021 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
01/26/2021 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

01/26/2021 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

01/26/2021 KU1072/Pengantar Teknologi Informasi B 10


Kamus:
Tipe Data, Variabel, Konstanta

01/26/2021 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

01/26/2021 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)
01/26/2021 KU1072/Pengantar Teknologi Informasi B 13
MATLAB
Variabel (2)
% ALGORITMA
....
• Contoh inisialisasi i = 100;
variabel: A = i * 50;
....

01/26/2021 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
01/26/2021 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
01/26/2021 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

01/26/2021 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

01/26/2021 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’

01/26/2021 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

01/26/2021 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;

01/26/2021 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

01/26/2021 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
01/26/2021 KU1072/Pengantar Teknologi Informasi B 23
ALGORITMA:
Assignment, Ekspresi,
Input/Output,
Aksi Sekuensial

01/26/2021 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.

01/26/2021 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;
Nama = ‘Maya’; Nilai X di-assign
X = i + 10; dengan ekspresi

01/26/2021 KU1072/Pengantar Teknologi Informasi B 27


Ekspresi
• Operasi yang bisa diberlakukan tergantung pada tipe data
• Struktur umum (operasi biner):

• Tipe data hasil<operan1> <operator>pada


operasi tergantung <operan2>
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

01/26/2021 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

01/26/2021 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 “ 

01/26/2021 KU1072/Pengantar Teknologi Informasi B 30


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

01/26/2021 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

01/26/2021 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

01/26/2021 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

01/26/2021 KU1072/Pengenalan Teknologi Informasi B 34


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

01/26/2021 KU1072/Pengantar Teknologi Informasi B 35


Mulai
Menghitung Luas
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
01/26/2021 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


%dibutuhkan berbeda dengan C++ Algoritma

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

01/26/2021 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
01/26/2021 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;

01/26/2021 KU1072/Pengantar Teknologi Informasi B 39


Latihan-2
• Buatlah program untuk Mulai

menghitung luas lingkaran


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

Selesai
01/26/2021 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

01/26/2021 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

01/26/2021 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%
int t1, t2, t3, t4, t5;
float ratarata; output(ratarata)
ALGORITMA
%lihat flowchart
Selesai
01/26/2021 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

01/26/2021 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

01/26/2021 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

01/26/2021 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?

01/26/2021 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

01/26/2021 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

01/26/2021 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

01/26/2021 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

01/26/2021 KU1072/Pengantar Teknologi Informasi B 51


Menghitung Jarak Mulai

(Flowchart)
input(v, t)

Program HitungJarak
%Menghitung jarak berdasarkan
%masukan kecepatan (v) dan
%waktu (t) s := v * t
KAMUS
%matlab terdeklarasi otomatis
%saat input
ALGORITMA output(s)
%lihat flowchart

Selesai
01/26/2021 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

01/26/2021 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)
01/26/2021 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
01/26/2021 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);

01/26/2021 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);

01/26/2021 KU1072/Pengantar Teknologi Informasi B 57


Jumlah 2 Pecahan Mulai

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

Selesai
01/26/2021 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(pe);
penyebut2=input(penyebut2); (Matlab)
pembilang3 = pembilang1 * penyebut2 + pembilang2 * penyebut1;
penyebut3 = penyebut2 * penyebut1;

pembilang3
penyebut3

01/26/2021 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
01/26/2021 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

01/26/2021 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
01/26/20210; 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

01/26/2021 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 ) 2  ( y1  y2 ) 2
• Gunakan instruksi sqrt (X) untuk perhitungan akar kuadrat
dan X * X untuk perhitungan kuadrat
01/26/2021 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

01/26/2021 KU1072/Pengantar Teknologi Informasi B 65

Anda mungkin juga menyukai