ku1072 strukturdasarprosedural cpp flowchart 290815
DESCRIPTION
GRATISTRANSCRIPT
KU1072/Pengenalan Teknologi Informasi B
Tahap Tahun Pertama Bersama
Institut Teknologi Bandung
Struktur Dasar Program Prosedural(dalam Bahasa C++ + Flowchart)
Tim Penyusun Materi PTI-B
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, ekspresidasar, input/output, dan sekuens
KU1072/Pengantar Teknologi Informasi B03/09/2015 2
C++
• C++ merupakan bahasa pemrograman general purpose dan multi paradigma (prosedural, object oriented)
• Bahasa pemrograman yang sangat populer dan banyakdigunakan
• Dikembangkan oleh Bjarne Stroustrup mulai tahun 1979 di Bell Labs
• Merupakan pengembangan dari Bahasa C (proseduralmurni) dengan penambahan konsep, object-orientation
• Dalam kuliah ini, hanya akan menggunakan paradigmaprosedural
• Merupakan bahasa yang case sensitive perbedaanhuruf besar dan kecil berpengaruh
KU1072/Pengantar Teknologi Informasi B03/09/2015 3
Masukan – Proses – Luaran
KU1072/Pengantar Teknologi Informasi B
Input Proses Output
input (A)input (B)
A ← A + Boutput (A)output (B)
cin >> A;cin >> B;
A = A + B;cout << A;cout << B;
C++
03/09/2015 4
Flowchart Umum
03/09/2015 KU1072/Pengantar Teknologi Informasi B 5
Input(A)
Output(A)
Proses
Mulai
Selesai
Struktur Dasar Program Prosedural Secara Umum
KU1072/Pengantar Teknologi Informasi B
Program <JudulProgram>// Spesifikasi Program
KAMUS// Deklarasi type, variabel, konstanta, fungsi, prosedur
ALGORITMA// Deretan langkah algoritmik untuk penyelesaian// persoalan// DAPAT DISUSUN DALAM FLOWCHART
03/09/2015 6
Struktur Dasar Program Prosedural (C++)
03/09/2015 KU1072/Pengantar Teknologi Informasi B 7
// Program <JudulProgram>// Spesifikasi Program
#include <iostream>using namespace std;
int main () {// KAMUS// Deklarasi type, variabel, konstanta, fungsi, prosedur
// ALGORITMA// Deretan langkah algoritmik untuk penyelesaian persoalan
return 0;}
Contoh Program dan Flowchart
03/09/2015 KU1072/Pengantar Teknologi Informasi B 8
Mulai
input(A)input(B)
A = A + BB = B - A
output(A)output(B)
Selesai
Program Test// Menghitung A + B
KAMUSint A; int B;
ALGORITMA// Lihat flowchart
KU1072/Pengantar Teknologi Informasi B
Struktur Dasar Program Prosedural
03/09/2015 9
// Program Test// Spesifikasi : Menghitung nilai A dan B
#include <iostream>using namespace std;
int main () {//KAMUSint A;int B;
//ALGORITMAcin >> A; // inputcin >> B;A = A + B; // prosesB = B – A;cout << A << endl; // outputcout << B << endl;
return 0;}
Judul Program + spesifikasi, dituliskan
dalam komentar
KAMUS: deklarasi variabel A dan B
ALGORITMA:Input,
Proses,Output
Bagian ini perlu di tambahkansebagai standard pemrogramanC++ di layar Console
Komentar
• Dalam bahasa pemrograman komentar adalahbagian program yang tidak dieksekusi
– Bagian ini hanya digunakan untuk memberikan penjelasansuatu langkah, rumus ataupun bisa hanya berupaketerangan
• Dalam C++, komentar dituliskan sebagai:
– Antara /* dan */
/* ini komentar */
– Diawali dengan //
// ini komentar
KU1072/Pengantar Teknologi Informasi B03/09/2015 10
Kamus
• Kamus dipakai untuk mendeklarasi nama-nama yang digunakan dalam program
• Deklarasi nama yang didefinisikan pemrogram– type– variabel– konstanta
• Deklarasi BUKAN instruksi• Contoh deklarasi [variabel]:
KU1072/Pengantar Teknologi Informasi B03/09/2015 12
Variabel (1)
• Variabel adigunakan menyimpan suatu nilai yang ber-”tipe
data” tertentu sesuai dengan deklarasi
• Merepresentasikan suatu makna di dunia nyata yang ingin
diolah dalam program, misalnya:– Sum : jumlah beberapa angka
– Max : nilai maksimum
• Variabel : – deklarasi (supaya nama dikenal dan diketahui tipe datanya),
– inisialisasi nilai (siap dimanipulasi)
KU1072/Pengantar Teknologi Informasi B03/09/2015 13
Variabel (2)
• Contoh deklarasi
dan inisialisasi
variabel:
KU1072/Pengantar Teknologi Informasi B
C++
int main () {// KAMUS int i;float A;
// ALGORITMA....i = 100;A = i * 50;....return 0;
}
03/09/2015 14
Membuat Nama Variabel yang Benar dan “baik”
• Nama variabel harus dimulai dengan huruf dan dapatdiikuti dengan huruf lagi dan angka– Tidak boleh ada tanda baca
• Dalam nama variabel tidak boleh dipisahkan olehspasi
• Cari nama variabel yang bisa dimengerti– Agar tidak membingungkan
• C++ adalah bahasa yang case sensitive Kesalahan penulisan huruf besar dan kecil menyebabkanerror
KU1072/Pengantar Teknologi Informasi B03/09/2015 15
Contoh yang benarTotalJumlahA
Contoh yang salah3RodaJumlah,total8
Benar atau salah?Kar2stringTotal45-angkazzzzSuperDayaGunaLum4588abc
KU1072/Pengantar Teknologi Informasi B03/09/2015 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 diasumsikanbahwa umur seseorang tidak lebih dari 100).
• Data nama rentangnya mulai dari 1 sampai 50 (bila di anggapnama tidak ada yang melebihi 50 huruf
KU1072/Pengantar Teknologi Informasi B03/09/2015 17
Tipe Data (2)
• Nilai yang diperbolehkan untuk variabel tergantungpada tipe data-nya
• Tipe data mendefinisikan himpunan nilai-nilaitertentu, misalnya:
– Tipe data integer : himpunan nilai yang terdiri atasbilangan bulat (negatif, 0, positif)
– Tipe data boolean: himpunan nilai yang terdiri atas nilaitrue dan false
03/09/2015 KU1072/Pengenalan Teknologi Informasi B 18
Jenis Tipe Data (1)
• Tipe data primitif atau tipe dasar
– Disediakan oleh bahasa pemrograman
KU1072/Pengantar Teknologi Informasi B
C++ Domain Nilai
bool Boolean: true = 1; false = 0
int Integer/bilangan bulat: bilangan bulat negatif, 0, bilanganbulat positifContoh: 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(dalam C++)Contoh: “xcxcx”
03/09/2015 19
Contoh Penentuan Tipe Data Variabel
Umur
Kota
Nama
Suhu
Luas
BeratBadan
NIM
KU1072/Pengantar Teknologi Informasi B
Integer contoh: 25; 44; 35
String, contoh: “Jakarta”; “Bandung”
String, contoh: “Budi”; “Ali”
Integer atau float, contoh: 37.5; 100
Integer atau float, contoh: 400; 43.5
Integer atau float, contoh: 60.5; 75
Integer atau string?, contoh: 15812001
03/09/2015 20
Jenis Tipe Data (2)• Tipe data bentukan / komposit / record
– Tidak tersedia secara otomatis, harus dibuat oleh programmer– Dibentuk dari gabungan tipe dasar– Contoh:
KU1072/Pengantar Teknologi Informasi B
C++
Deklarasi type (KAMUS) typedef struct {int x;int y;
} Point;typedef struct {
string NIM;string Nama;
} Mahasiswa;
Deklarasi variabel (KAMUS) Point P;Mahasiswa M;
03/09/2015 21
Jenis Tipe Data (3)
KU1072/Pengantar Teknologi Informasi B03/09/2015 22
// KAMUStypedef struct {
int x;int y;
} Point;
int main () {// KAMUSPoint P;int a, b;...// ALGORITMAP.x = 0; P.y = 1;a = P.x; b = P.y + 1;...return 0;
}
Tipe data bentukan / komposit / record
Konstanta
• Berbeda dengan Variable, suatu konstanta tidakboleh diubah nilainya
• Contohconst float PI = 3.1415const int nilai = 1000
• Pemakaian yang salahPI = 44.5nilai = 5000
KU1072/Pengantar Teknologi Informasi B
Keduanya salah karena PI dan nilaisudah ditandai sebagai konstanta
dengan nilai 3.14159 dan 1000 jadinilainya tidak boleh diubah
03/09/2015 23
ALGORITMA:Assignment, Ekspresi,
Input/Output, Aksi Sekuensial
KU1072/Pengantar Teknologi Informasi B03/09/2015 24
Algoritma
• Adalah bagian program dalam bentuk teks algoritmikyang 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.
• Dalam Bahasa C++, setiap instruksi ditandai dengan ;(semicolon/titik koma) di akhir instruksi– Contoh: cin >> A;
KU1072/Pengantar Teknologi Informasi B03/09/2015 25
Pemberian Nilai
• Suatu besaran (dengan tipe tertentu), misalnya variabel, yang telah dikenal dapatdiberi nilai/harga
• Pemberian nilai:
– Pemberian nilai langsung atau disebut sebagaiassignment
• Contoh: A = 10;
– Dibaca dari piranti masukan (perintah input)
• Contoh: cin >> A;
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
KU1072/Pengantar Teknologi Informasi B
C++
<RuasKiri> = <RuasKanan>;
Contoh:i = 10;Nama = “Maya”;X = i + 10;
Nilai X di-assign dengan ekspresi
03/09/2015 27
Ekspresi
• Operasi yang bisa diberlakukan tergantung pada tipedata
• Struktur umum (operasi biner):
• Tipe data hasil operasi tergantung pada tipe data operan
• Operan tidak hanya berupa nilai/variable, bisa berupaekspresi
• Jenis:
– Ekspresi biner : 2 operan, contoh operator: * - / and or
– Ekspresi uner : 1 operan, contoh operator: not
03/09/2015 KU1072/Pengenalan Teknologi Informasi B 28
<operan1> <operator> <operan2>
Jenis Ekspresi
C++
Ekspresi Aritmatika: operan numerik(integer/real), hasil: numerik (integer/real)
A + Bx + 2 * y P – 2 * Q + R/S
Ekspresi Relasional: operan numerik(integer/real), hasil: boolean
A < BX == YTotal >= nilai
Ekspresi Logika: operan: boolean, hasil : boolean
A && BC || B
KU1072/Pengantar Teknologi Informasi B03/09/2015 29
Operasi pada nilai suatu tipe data
• Operasi perhitungan akan memerlukan operator
seperti “+”, “-”, “*” dan “/” (tambah, kurang, kali dan bagi) untuk melakukan kalkulasi
• Operasi “+” pada tipe data bukan numerik memilikiarti yang berbeda
– Contoh: “Halo “ + “Apa kabar “ “Halo Apa kabar”
• Tidak semua operator dapat digunakan untuk tipedata numerik.
– Contoh: “Halo “ * “Apa kabar “
KU1072/Pengantar Teknologi Informasi B03/09/2015 30
Operasi tipe dasar
• int : * / + - % < > <= >= == !=
• bool : && || ! !=
• float : * / + - < > <= >= !=
• char : == !=
• string : == != +
+ adalah konkatenasi 2 string
KU1072/Pengantar Teknologi Informasi B03/09/2015 31
Input/Output (1)
• Perintah Input: pemberian nilai variabel dari pirantimasukan, misal: keyboard dibaca atas masukandari pengguna
Perintah di C++: cin
Contoh:
cin >> A; // mengisi nilai A dengan masukan dari
// keyboard/pengguna
03/09/2015 KU1072/Pengenalan Teknologi Informasi B 32
Input/Output (2)
• Perintah output: penulisan nilai(variabel/konstanta/hasil ekspresi) ke piranti keluaran, misal: monitor
Perintah di C++: cout
Contoh: cout << A; // menulis isi variabel A ke layar,
// diakhiri enter
cout << “Hello”; // menulis Hello ke layar
cout << A * 4; // menulis hasil perkalian A*4
cout << PI; // menulis nilai konstanta PI
03/09/2015 KU1072/Pengenalan Teknologi Informasi B 33
Latihan-1
• Buatlah program yang menampilkan hasil perhitungan luas lingkaran berdasarkan masukan nilai jari-jari
KU1072/Pengantar Teknologi Informasi B03/09/2015 34
Menghitung Luas Lingkaran (Flowchart)
03/09/2015 KU1072/Pengantar Teknologi Informasi B 35
Mulai
input(jarijari)
luas = 3.14 * jarijari * jarijari
output(luas)
Selesai
Program HitungLuasLingkaran// Menghitung luas lingkaran // berdasarkan masukan jari-jari
KAMUSfloat jarijari;float luas;
ALGORITMA// Lihat flowchart
Algoritma
Pendefinisian variabel
// Program HitungLuasLingkaran
// Menghitung luas lingkaran berdasarkan jari-jari
#include <iostream>
using namespace std;
int main()
{ // KAMUS
float jarijari;
float luas;
// ALGORITMA
cin >> jarijari;
luas = 3.1415 * jarijari * jarijari;
cout << luas << endl;
return 0;
}
Menghitung Luas Lingkaran (C++)
KU1072/Pengantar Teknologi Informasi B03/09/2015 36
Alternatif: Menghitung Luas Lingkaran (Flowchart)
03/09/2015 KU1072/Pengantar Teknologi Informasi B 37
Mulai
input(jarijari)
luas = PI * jarijari * jarijari
output(luas)
Selesai
Program HitungLuasLingkaran// Menghitung luas lingkaran // berdasarkan masukan jari-jari
KAMUSconst float PI = 3.1415;float jarijari;float luas : real;
ALGORITMA// Lihat flowchart
Algoritma
Pendefinisian variabel
Pendefinisian konstanta
Menghitung Luas Lingkaran (C++) - Alternatif
KU1072/Pengantar Teknologi Informasi B
// Program HitungLuasLingkaran
// Menghitung luas lingkaran berdasarkan jari-jari
#include <iostream>
using namespace std;
int main()
{ // KAMUS
const float PI = 3.1415;
float jarijari;
float luas;
// ALGORITMA
cin >> jarijari;
luas = PI * jarijari * jarijari;
cout << luas << endl;
return 0;
}03/09/2015 38
Latihan-2
• Buatlah program untuk menghitung luas lingkaran berdasarkan masukan alas dan tinggi
KU1072/Pengantar Teknologi Informasi B03/09/2015 39
Program HitungLuasSegitiga// Menghitung luas segitiga// berdasarkan masukan alas dan// tinggi segitiga
KAMUSfloat alas, tinggi;float luas;
ALGORITMA// lihat flowchart
Mulai
input(alas)Input(tinggi)
luas = 0.5 * alas * tinggi
output(luas)
Selesai
Menghitung Luas Segitiga (C++)
KU1072/Pengantar Teknologi Informasi B03/09/2015 40
// Program HitungLuasSegitiga// Menghitung luas segitiga berdasarkan alas dan tingginya#include <iostream>using namespace std;
int main(){ // KAMUS
float alas;float tinggi;float luas;
// ALGORITMAcin >> alas;cin >> tinggi;
luas = 0.5 * alas * tinggi;
cout << Luas << endl;
return 0;}
Latihan-3
• Buat program menghitung rata-rata dari tinggi badan5 anak
– Program akan menerima masukan data tinggi badan untuk5 orang anak
– Kemudian program akan menghitung tinggi rata-rata darike lima anak tersebut
KU1072/Pengantar Teknologi Informasi B03/09/2015 41
Menghitung Tinggi Rata-Rata (Flowchart)
Program TinggiRataRata// Menghitung tinggi rata-// rata 5 anak
KAMUSint t1, t2, t3, t4, t5;float ratarata;
ALGORITMA// lihat flowchart
03/09/2015 KU1072/Pengantar Teknologi Informasi B 42
Mulai
input(t1, t2, t3, t4, t5)
ratarata = (t1+t2+t3+t4+t5)/5
output(ratarata)
Selesai
Menghitung Tinggi Rata-Rata (C++)
KU1072/Pengantar Teknologi Informasi B
// Program TinggiRataRata// Hitung tinggi rata-rata 5 anak#include <iostream>using namespace std;int main(){ // KAMUS
int tinggi1, tinggi2, tinggi3, tinggi4, tinggi5;float ratarata;// ALGORITMAcin >> tinggi1;cin >> tinggi2;cin >> tinggi3;cin >> tinggi4;cin >> tinggi5;
ratarata = (tinggi1 + tinggi2 + tinggi3 +tinggi4 + tinggi5)/5;cout << ratarata << endl;return 0;
}
03/09/2015 43
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 dansuatu ketika harus berakhir
– Program yang tidak pernah berhenti adalah program yang salah atau error
KU1072/Pengantar Teknologi Informasi B03/09/2015 44
Penulisan untuk Instruksi Sekuensial
• Instruksi ditulis terurut sesuai penulisan per baris
• Setiap instruksi selalu diakhiri dengan tanda titikkoma
– Jadi dalam satu baru dapat terdiri dari lebih dari instruksi.
KU1072/Pengantar Teknologi Informasi B03/09/2015 45
Contoh aksi sekuensial
KU1072/Pengantar Teknologi Informasi B
/* contoh aksi sekuensial per baris */
int main()
{ /* Kamus */
int i;
float x;
/* Algoritma */
cin >> i;
x = 100.75;
cout << x << endl;
cout << i * 2 << endl;
return 0;
}
/* contoh aksi sekuensial dg titik koma */
int main()
{ /* Kamus */
int i;
float x;
/* Algoritma */
cin >> i ; x = 100.75;
cout << x << endl; cout << i * 2 << endl;
return 0;
}
03/09/2015 46
KU1072/Pengantar Teknologi Informasi B
Contoh aksi sekuensial/* contoh aksi sekuensial per baris */
int main()
{ /* Kamus */
int i;
float x;
/* Algoritma */
cin >> i;
x = 100.75;
cout << x << endl;
cout << i * 2 << endl;
return 0;
}
/* contoh aksi sekuensial dg titik koma */
int main()
{ /* Kamus */
int i;
float x;
/* Algoritma */
cin >> i ; x = 100.75;
cout << x << endl; cout << i * 2 << endl;
return 0;
}
Perhatikan bahwa keduanya memlikiurutan eksekusi yang sama dan juga hasileksekusi yang identik.Perbedaannya hanyalah di carapenulisannya. Mana yang lebih baikpenulisannya?
03/09/2015 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
KU1072/Pengantar Teknologi Informasi B03/09/2015 48
Pengubahan urutan eksekusi yang tidak mengubah hasil eksekusi
KU1072/Pengantar Teknologi Informasi B
// contoh aksi sekuensial per
// baris
int main() {
// KAMUS
int i;
float x;
// ALGORITMA
cin >> i;
x = 100.75;
cout << x << endl;
cout << i * 2 << endl;
return 0;
}
// contoh aksi sekuensial per
// baris
int main() {
// KAMUS
float x;
int i;
// ALGORITMA
x = 100.75;
cin >> i;
cout << x << endl;
cout << i * 2 << endl;
return 0;
}03/09/2015 49
Pengubahan urutan eksekusi yang mengubah hasil eksekusi
KU1072/Pengantar Teknologi Informasi B
/* contoh aksi sekuensial per baris */
int main(){
/* Kamus */int i;float x;
/* Algoritma */
cin >> i;x = 100.75;
cout << x << endl;cout << i * 2 << endl;return 0;
}
/* contoh aksi sekuensial per baris */
int main(){
/* Kamus */float x;int i;
/* Algoritma */
x = 100.75;cin >> i;
cout << i * 2 << endl;cout << x << endl;return 0;
}
03/09/2015 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
KU1072/Pengantar Teknologi Informasi B03/09/2015 51
Menghitung Jarak(Flowchart)
Program HitungJarak// Menghitung jarak berdasarkan// masukan kecepatan (v) dan// waktu (t)
KAMUSfloat v, t, s;
ALGORITMA// lihat flowchart
03/09/2015 KU1072/Pengantar Teknologi Informasi B 52
Mulai
input(v, t)
s := v * t
output(s)
Selesai
// Program HitungJarak// Menghitung jarak berdasarkan masukan// kecepatan (v) dan waktu (t)#include <iostream>using namespace std;
int main(){ // KAMUS
int jarak, v, t;
// ALGORITMA
cin >> v;cin >> t;
jarak = v * t;
cout << jarak << endl;return 0;
}
Menghitung Jarak (C++) (1)
KU1072/Pengantar Teknologi Informasi B03/09/2015 53
Menghitung Jarak (C++) (2)
KU1072/Pengantar Teknologi Informasi B03/09/2015 54
// Program HitungJarak// Menghitung jarak berdasarkan masukan// kecepatan (v) dan waktu (t)#include <iostream>using namespace std;
int main(){ // KAMUS
int jarak, v, t;
// ALGORITMAcout << “kecepatan = “;cin >> v;cout << “waktu = “;cin >> t;
jarak = v * t;
cout << “Jarak = “ << jarak << endl;return 0;
}
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 danpenyebut hasil penjumlahan
KU1072/Pengantar Teknologi Informasi B03/09/2015 55
Langkah Solusi (1)
• Program menerima masukan pecahan pertamaberupa pembilang dan penyebut
input(pembilang1);
input(penyebut1)
• Kemudian program menerima pecahan kedua
input(pembilang2);
input(penyebut2);
KU1072/Pengantar Teknologi Informasi B03/09/2015 56
Langkah Solusi (2)
• Lalu program akan melakukan penjumlahan
pembilang3 =
pembilang1 * penyebut2 + pembilang2 * penyebut1;
penyebut3 = penyebut1 * penyebut2;
• Kemudian menampilkan hasilnya berupa pembilang danpenyebut hasil penjumlahan
output(pembilang3);
output(penyebut3);
KU1072/Pengantar Teknologi Informasi B
�
�+�
�=�� + ��
� ∗ �
03/09/2015 57
Jumlah 2 Pecahan(Flowchart)
Program JumlahPecahan;// Menghitung pembilang dan// penyebut pecahan dari// penjumlahan dua buah pecahan// yang diketahui pembilang dan// penyebutnya
KAMUSint pembilang1, pembilang2,
pembilang3;int penyebut1, penyebut2,
penyebut3;
ALGORITMA{ lihat flowchart }
03/09/2015 KU1072/Pengantar Teknologi Informasi B 58
Mulai
input(pembilang1)input(penyebut1)input(pembilang2)input(penyebut2)
pembilang3 = pembilang1 * penyebut2 + pembilang2 * penyebut1penyebut3 = penyebut1 * penyebut2
output(pembilang3)output(penyebut3)
Selesai
KU1072/Pengantar Teknologi Informasi B03/09/2015 59
// Program JumlahPecahan
// Menghitung pembilang dan penyebut pecahan dari penjumlahan
// dua buah pecahan yang diketahui pembilang dan penyebutnya
#include <iostream>
using namespace std;
int main()
{ // KAMUS
int pembilang1, pembilang2, pembilang3;
int penyebut1, penyebut2, penyebut3;
// ALGORITMA
cin >> pembilang1;
cin >> penyebut1;
cin >> pembilang2;
cin >> penyebut2;
pembilang3 = pembilang1 * penyebut2 + pembilang2 * penyebut1;
penyebut3 = penyebut2 * penyebut1;
cout << pembilang3 << endl;
cout << penyebut3 << endl;
return 0;
}
Jumlah 2 Pecahan(C++)
Alternatif:Jumlah 2 Pecahan(Flowchart)
Program JumlahPecahan{ ... }
KAMUStypedef struct {
int pembilang; int penyebut;
} Pecahan;// variabelPecahan P1, P2, P3;
ALGORITMA// lihat flowchart
03/09/2015 KU1072/Pengantar Teknologi Informasi B 60
Mulai
input(P1)input(P2)
P3.pembilang := P1.pembilang * P2.penyebut + P2.pembilang * P1.penyebutP3.penyebut := P1.penyebut * P2.penyebut
output(P3)
Selesai
KU1072/Pengantar Teknologi Informasi B03/09/2015 61
// Program KaliPecahan// Menghitung pembilang dan penyebut pecahan dari perkalian// dua buah pecahan yang diketahui pembilang dan penyebutnya#include <iostream>using namespace std;// KAMUStypedef struct {
int pembilang; int penyebut;
} Pecahan;int main() {
// KAMUSPecahan P1, P2, P3;
// ALGORITMAcin >> 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 0;}
Jumlah 2 Pecahan(C++)
Alternatif
KU1072/Pengantar Teknologi Informasi B
Soal-1
• Buatlah sebuah program yang membaca darikeyboard – 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
03/09/2015 62
Soal-2
• Sebuah program yang mengelola type bentukan pointsebagai 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:
• Gunakan instruksi sqrt (X) untuk perhitungan akarkuadrat dan X * X untuk perhitungan kuadrat
KU1072/Pengantar Teknologi Informasi B
221
221 )()( yyxx
03/09/2015 63
Soal-3
• Buatlah sebuah program yang menerima masukan 2 buah Jam (dalam jam, menit, dan detik), misalnya J1dan 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
03/09/2015 KU1072/Pengantar Teknologi Informasi B 64