KATA PENGANTAR
KATA PENGANTAR
Assalamu’alaikum Wr. Wb. Assalamu’alaikum Wr. Wb.
Alha
Alhamdulmdullilalilah, h, atas atas berkaberkat t rahrahmat mat AllaAllah h Yang Maha Yang Maha KuaKuasa sa dendengan gan didodidorongrongkan kan oleoleh h keikeinginnginan an luhuluhur r memperluas wawasan dalam pengembangan pengetahuan tentang Algoritma dan Struktur Data I, maka buku memperluas wawasan dalam pengembangan pengetahuan tentang Algoritma dan Struktur Data I, maka buku petunju
petunjuk (modul) praktikum ini disusun/dibk (modul) praktikum ini disusun/dibuat.uat.
Bu
Buku ku petupetunjunjuk k (mo(modul) Praktikdul) Praktikum um AlgoAlgoritmritma a dan dan StruStruktuktur r Data I Data I ini ini dibdibuat uat untuuntuk k memmembanbantu tu jalajalannynnyaa Prak
Praktikutikum m AlgoAlgoritmritma a dan Struktudan Struktur r Data I Data I proprodi di S1 S1 Ilmu KompIlmu Komputeuter. r. BuBuku ku petupetunjunjuk k (mo(modul) dul) ini ini dibudibuatat sed
sedemikemikian ian rupa sehingrupa sehingga ga dapdapat at dengdengan an mudmudah ah dipadipahamhami i dan dipeladan dipelajari oleh jari oleh mermereka eka yang belum yang belum perpernahnah mengenal Algoritma dan Struktur Data sekalipun, dan bagi mereka yang pernah mengenal membaca buku ini mengenal Algoritma dan Struktur Data sekalipun, dan bagi mereka yang pernah mengenal membaca buku ini akan menyegarkan ingatan.
akan menyegarkan ingatan.
Terima kasih kami ucapkan kepada semua pihak yang telah membantu dan mendukung pembuatan buku ini. Terima kasih kami ucapkan kepada semua pihak yang telah membantu dan mendukung pembuatan buku ini.
Wassalamu’alaikum Wr. Wb. Wassalamu’alaikum Wr. Wb.
LABORATORIUM KOMPUTER DASAR LABORATORIUM KOMPUTER DASAR JIKE F.MIPA UGM JIKE F.MIPA UGM
DAFTAR ISI
DAFTAR ISI
I.
I. PEPENDANDAHUHULULUANAN 1.
1. PengenalPengenalan Algan Algoritma dan oritma dan PemrogrPemrogramanaman 2.
2. LaLatihtihanan II.
II. INTRODUCINTRODUCTION TO TION TO C++C++ 1.
1. InIntro tro to to C+C+++ 2.
2. TipeTipe-tipe -tipe datadata (Integer, Real, Karakter, String, and Boolean) (Integer, Real, Karakter, String, and Boolean) 3
3. . II/O/O 4.
4. OpeOperaratortor 5.
5. LaLatihtihanan
III.STRUKTUR RUNTUNA
III.STRUKTUR RUNTUNAN N DAN DAN CONTRCONTROLOL STASTATEMENTEMENTT 1.
1. SequSequence ence (Runt(Runtutan)utan) 2.
2. Selection Selection (Percaba(Percabangan)ngan) 3.
3. LaLatihtihanan IV.
IV. STRUKTUR PERULASTRUKTUR PERULANGANNGAN 1.
1. StrStruktur uktur ForFor 2.
2. StrStruktur uktur WhilWhilee 3.
3. StrStruktur uktur Do Do WhilWhilee 4.
4. PerPerulangulangan Bean Bersarsarangrang 5.
5. LaLatihtihanan V.
V. TIPE DTIPE DATA AATA ARRARRAYY 1.
1. Tipe Tipe data data ArrArrayay 2.
2. ArrArray 1 day 1 dan 2 an 2 dimedimensinsi 3.
3. LaLatihtihanan VI.
VI. TIPE DATA STRUTIPE DATA STRUKTUR KTUR 1.
1. StrStructuct 2.
2. ArrArray ay of of StrStructuct 3.
3. LaLatihtihanan VII.
VII. SUBSUBPROPROGRAGRAM M & & FUNFUNGSIGSI 1.
1. Sub prSub program (Fogram (Functunctionions in C++)s in C++) 2.
2. LaLatihtihanan VIII.
VIII. ALGORIALGORITMA SORTINTMA SORTING & SEARCHINGG & SEARCHING 1.
1. AlgAlgoritmoritma a SorSortingting 2.
2. AlgAlgoritmoritma a SearSearchingching 3.
3. LaLatitihahann IX
IX. . PPOIOINTNTER ER DAFTAR PUSTAKA DAFTAR PUSTAKA
BAB I
BAB I
PENDAHULUAN
PENDAHULUAN
1.1 Tujuan Pembelajaran 1.1 Tujuan Pembelajaran a.a. MahasMahasiswa iswa mengenal mengenal defidefinisi nisi algorialgoritma tma dan dan pemrograpemrogramanman b.
b. Mahasiswa Mahasiswa mengenal mengenal konsep konsep dasar dasar pemetaan pemetaan algoritma algoritma ke ke dalam dalam bahasabahasa algoritmik.
algoritmik. c.
c. MahasMahasiswa miswa mampu meampu menyelesanyelesaikan kasikan kasus atau us atau solussolusi terhi terhadap suaadap suatu mastu masalah yangalah yang diberikan.
diberikan.
1.2 Pengenalan Algoritma dan Pemrograman 1.2 Pengenalan Algoritma dan Pemrograman a.
a. Latar Latar BelakangBelakang Al
Algorigoritma tma berberarti arti solsolusiusi, , solsolusi usi yanyang g didimaksmaksud ud daldalam am bahabahasa sa pempemrograrogramaman n adaladalahah pemecahan
pemecahan masalah masalah yang yang harus harus dipecahkan dipecahkan dengan dengan menggunakan menggunakan komputer. komputer. Langkah- Langkah-lan
langkah gkah apa apa sasaja ja yang yang didibutuhbutuhkan kan untuntuk uk menmenyelyelesaiesaikan kan masmasalalah ah yayang ng dihdihadapiadapi. . OlOleheh kare
karena na alalgorigoritma tma mermerupakupakan an ininti ti dari suatu dari suatu pempemrograrogramanman, , maka maka alalgorigoritmtma a haruharus s didibuatbuat run
runut ut agaagar r komkomputer puter memengerngerti ti dan dan mammampu pu mengmengekseksekusekusi i progprogram ram yang yang dibdibuat uat secsecaraara benar.
benar.
b.
b. TeTeororii Contoh
Contoh real real untu untuk k memengangambmbarkarkan an solsolusi usi dardari i mamasasalalah h yanyang g akaakan n didiseselelelelesaisaikankan,, misalnya solusi untuk menghitung jumlah hewan di suatu peternakan:
misalnya solusi untuk menghitung jumlah hewan di suatu peternakan: 1.
1. HitunHitung kesg keseluruhan eluruhan jumjumlah ayam lah ayam yang adyang ada di a di dalam dalam kandangkandang 2.
2. ApabiApabila ada hla ada hewan yang mewan yang masuk seteasuk setelah ilah itu, maka jtu, maka jumlah ayumlah ayam akan diam akan ditambahtambah 3.
3. ApaApabibila la adada a hewhewan an yayang ng didiambambil il ununtuk tuk pepenynyembembelelihihan, an, mamaka ka jujumlmlah ah ayayam am akakanan dikurangi.
dikurangi. 4.
4. Hewan yang ada di peHewan yang ada di peternternakan terdirakan terdiri dari ayi dari ayam, sapiam, sapi, kambing, dan bebe, kambing, dan bebek k
Sebagai manusia, kita sudah pasti mengerti langkah-langkah dalam menghitung jumlah Sebagai manusia, kita sudah pasti mengerti langkah-langkah dalam menghitung jumlah ayam dalam suatu peternakan, namun masalah dalam pemrograman adalah bagaimana kita ayam dalam suatu peternakan, namun masalah dalam pemrograman adalah bagaimana kita
bisa
bisa membuat membuat komputer komputer mengerti mengerti langkah langkah demi demi langkah langkah yang yang kita kita inginkan inginkan sehinggasehingga me
menghnghasasililkan kan hashasil il yanyang g kikita ta iningiginkankan. n. AgAgar ar dadapat pat didijajalalankankan n padpada a kokompmputeuter, r, mamakaka langkah-langkah solusi yang diinginkan harus menggunakan bahasa yang dimengerti oleh langkah-langkah solusi yang diinginkan harus menggunakan bahasa yang dimengerti oleh komputer yang dikemas dalam
komputer yang dikemas dalam bentuk program komputer.bentuk program komputer. Bahasa algoritmik
Bahasa algoritmik (pseudo-code) (pseudo-code) adalah sebuah bahasa penengah antara manusia dan adalah sebuah bahasa penengah antara manusia dan komputer.
komputer. Pseudo-code Pseudo-code di dibuat buat untuuntuk k memmemudahkudahkan an alalgorigoritma tma dendengan gan logilogika ka manumanusisiaa diu
diubah bah menmenjadi jadi bahbahasa asa pempemrograrogramaman n apaapapun pun yang yang didimengmengerti erti oleoleh h komkomputeputer. r. TerdTerdapaapatt banyak
banyak sekali sekali bahasa bahasa pemrograman pemrograman yang yang dikenal dikenal oleh oleh komputer, komputer, misalnya misalnya Pascal, Pascal, Java,Java, PHP, C#, C++, dan sebagainya.
PHP, C#, C++, dan sebagainya.
Program adalah algoritma ditambah dengan struktur data. Struktur data adalah tempat Program adalah algoritma ditambah dengan struktur data. Struktur data adalah tempat ta
tatatananan n penpenyiyimpmpanaanan n datdata a yayang ng didibutbutuhuhkakan n prprogrogram am padpada a komkomputputer. er. JiJika ka mamanusnusiaia memiliki otak untuk menyimpan data, maka komputer juga membutuhkan tempat untuk memiliki otak untuk menyimpan data, maka komputer juga membutuhkan tempat untuk meny
menyimpan impan data yang data yang didibutuhbutuhkan. kan. Hal Hal ini disebini disebabkaabkan n temtempat pat penypenyimpanimpanan an data padadata pada kom
komputer puter memmemililiki iki kemkemampuaampuan n yang yang terterbatabatas s jijika ka didibandbandingkingkan an dendengan gan otaotak k manmanusiusia,a, ma
maka ka didiperperlulukan kan sesebuabuah h tatatatananan n atatau au ststrukruktur tur agagar ar dadata ta yanyang g didisisimpampan n mumudah dah ununtuk tuk diakses.
diakses. Bel
Belajar ajar pempemrograrograman man beraberarti rti belbelajar ajar memmembuat buat strstrategategi i penypenyeleselesaian aian mamasalsalah ah atauatau mem
membuat buat suasuatu tu solsolusiusi. . SedaSedangkangkan n bahbahasa asa pempemrograrogramaman n adaladalah ah alalat at untuuntuk k memmempelpelajarajarii pembuatan
pembuatan program. program. Dalam Dalam praktikum praktikum ini, ini, kita kita akan akan belajar belajar membuat membuat program program dengandengan menggunakan bahasa pemrograman C++.
menggunakan bahasa pemrograman C++. c.
c. ImplemImplementasientasi
Dengan menggunakan contoh sebelumnya. Kita dapat membuat urutan dalam bentuk Dengan menggunakan contoh sebelumnya. Kita dapat membuat urutan dalam bentuk algoritma yang baik dan terstruktur.
algoritma yang baik dan terstruktur. Task 1 : Deklarasi,
Task 1 : Deklarasi, merupakan tahapan untuk mendeklarasikan tempat yang dipakai merupakan tahapan untuk mendeklarasikan tempat yang dipakai untuk membuat mi.
untuk membuat mi. Step 1 :
Step 1 : Mendeklarasikan tempat kosong yang dipakai sebagai kandang tempat Mendeklarasikan tempat kosong yang dipakai sebagai kandang tempat menaruh hewan.
menaruh hewan. Step 2 :
Step 2 : Mendeklara Mendeklarasikan kandang sikan kandang di peternakan.di peternakan. Step 3
Step 3 : Contoh kode dengan bahasa algoritmik pada tahap deklarasi adalah : Contoh kode dengan bahasa algoritmik pada tahap deklarasi adalah sebagai berikut :
ayam : integer ayam : integer sapi :
sapi : integeinteger r kambi
kambing ng : : integer integer bebek
bebek : integer : integer
Ta
Task sk 2 2 : : InInisiisialialisasasi,si, merup merupakan akan tahtahapan apan memmemperspersiapkiapkan an prosproses es yang yang didikerjkerjakanakan untuk menyelesaikan masalah.
untuk menyelesaikan masalah.
St
Step ep 11 : : MeMempempersrsiaiapkpkan an jujumlmlah ah hehewan yang wan yang ada di ada di kakandandang, ng, dadan n proprosesess penambahan
penambahan dan dan pengambilan pengambilan hewan.hewan.
Step 2 :
Step 2 : Contoh kode Contoh kode dengan bahasa algoritmdengan bahasa algoritmik adalah sebagai berikut :ik adalah sebagai berikut : ayam ayam 55 sapi sapi11 kambing kambing11 bebek bebek 55 Ta
Task sk 3 3 : : PrProseoses s pepenyenyelelesaisaian an mamasalsalah,ah, merup merupakaakan n tahatahapan pan untuntuk uk penpenyelyelesaiesaianan masalah untuk memenuhi tujuan sebuah algoritma dibuat.
masalah untuk memenuhi tujuan sebuah algoritma dibuat.
Step 1 :
Step 1 : Menambah jumlah hewan Menambah jumlah hewan hewan
hewan hewan sekarang + jumlah penambahan ke kandanghewan sekarang + jumlah penambahan ke kandang
Step 2 :
Step 2 : Mengurangi jumlah hewan Mengurangi jumlah hewan hewan
hewan hewan sekarang - jumlah pengurangan ke kandanghewan sekarang - jumlah pengurangan ke kandang
Task 4 : Finalisasi,
Task 4 : Finalisasi, merupakan tahapan bersih-bersih atau tahap akhir misalnya ayam merupakan tahapan bersih-bersih atau tahap akhir misalnya ayam telah habis diambil atau mengetahui jumlah hewan sekarang
telah habis diambil atau mengetahui jumlah hewan sekarang
Step 1 :
Step 1 : Mengosongkan jumlah ayam apabila ayam telah diambil semua. Mengosongkan jumlah ayam apabila ayam telah diambil semua. ayam
ayam 00
Step 2 :
Step 2 : Menghitung jumlah hewan keseluruhan. Menghitung jumlah hewan keseluruhan. hewan
hewan ayam+kambing+sapi+bebek ayam+kambing+sapi+bebek
Step 3 :
Step 3 : Menyajikan hasil perhitungan yang telah dibuat. Menyajikan hasil perhitungan yang telah dibuat. Output (“ jumlah hewan
1.3 Aktivitas 1.3 Aktivitas
1. Mahasiswa memahami implementasi task 1, task 2, task 3 dan task 4 1. Mahasiswa memahami implementasi task 1, task 2, task 3 dan task 4
2. Mahasiswa mengerjakan soal latihan 2. Mahasiswa mengerjakan soal latihan
1.4 Latihan 1.4 Latihan
1.
1. BuatlBuatlah algoriah algoritma untuk mtma untuk melakukan dafelakukan daftar ulang mtar ulang masuk ugmasuk ugm 2.
2. BuatlBuatlah algoriah algoritma untuk tma untuk menjmenjumlahkan dua umlahkan dua bilbilanganangan 3.
3. BuatlBuatlah algorimah algorima untuk menentukan suaa untuk menentukan suatu bilangatu bilangan termasuk bin termasuk bilangan ganjilangan ganjil ataul atau genap
genap 4.
BAB II
BAB II
PENGENALAN BAHASA C++
PENGENALAN BAHASA C++
2.1 Tujuan Pembelajaran 2.1 Tujuan Pembelajaran a.a. MahasiMahasiswa mengenal dasar-dswa mengenal dasar-dasar bahasa pemrogramasar bahasa pemrograman C++.an C++. b.
b. Mahasiswa Mahasiswa dapat dapat memetakan memetakan bahasa bahasa logaritmik logaritmik ke ke dalam dalam bahasa bahasa pemrogramanpemrograman C++.
C++. c. M
c. Mahahasasiiswswa a mmamampu pu mememmbuabuat t prprogograram m mumullai ai dadari ri kakasusus s sesedederhrhanana a dedengnganan menggunakan bahasa pemrograman C++.
menggunakan bahasa pemrograman C++. d.
d. MahasiMahasiswa mengenal tipe swa mengenal tipe dasar integerdasar integer, riil, karakter, stri, riil, karakter, string, dan ng, dan boolean.boolean. e.
e. MahMahasiasiswa swa pahpaham am bagabagaimimana ana menmengimgimplemplementasentasikaikan n suasuatu tu operoperasi asi dari dari titipe pe datdataa dasar tersebu
dasar tersebut t ke dalam ke dalam bahasbahasa a pemrogrpemrograman C++.aman C++. f.
f. MahasiMahasiswa mengenal defswa mengenal definisi dan macaminisi dan macam-macam opera-macam operator.tor. g.
g. MahMahasiasiswa swa mammampu pu memengingimplemplementamentasisikan kan operoperatorator-ope-operatrator or tertersebsebut ut pada pada studstudii kasus yang berikan.
kasus yang berikan. h.
h. MahasiMahasiswa mengenal konsep dasar Input Output (I/O)swa mengenal konsep dasar Input Output (I/O).. i.
i. MahMahasiasiswa swa pahpaham am bagabagaimaimana na lanlangkahgkah-l-langkaangkah h menmengimgimplemplementasentasikan ikan dendengangan masukan
masukan (input) (input) ter tertententu tu dan dan menmenampiampilkan lkan kelkeluaranuaran (output) (output) dar dari i hashasil il yanyangg diharap
diharapkan kan pada pada contoh kasus-kascontoh kasus-kasus us yang yang diberidiberikan.kan. 2.2 Teori
2.2 Teori
Compiler
Compiler merupakan perangkat lunak yang digunakan untuk mengubah kode program merupakan perangkat lunak yang digunakan untuk mengubah kode program (sour
(source ce code)code) menj menjadi adi bahabahasa sa mesmesin in (bi(binary nary fifile) le) agar dapat agar dapat diediekseksekusi kusi ololeh eh komkomputerputer.. Prog
Program ram akan akan berhberhasiasil l didi--compilecompile ji jika ka progprogram ram tertersebsebut ut titidak dak mengmenganduandung ng keskesalalahanahan secara kaidah sama sekali
secara kaidah sama sekali (syntax (syntax errorerror)). . ConContoh toh comcompilpiler er C/CC/C++ ++ yang yang popupopuler adalahler adalah mi
minGW nGW dan dan GCCGCC, , bibiasanyasanya a comcompilpiler er tertersebsebut ut teltelah ah didikemkemas/buas/bundlndled ed bersbersama ama dengdenganan softw
software are IDE-nIDE-nyaya (Inte (Integrated grated DevelopmDevelopment ent EnvironmEnvironment).ent). SoftwSoftware-sare-software IDEoftware IDE merupakan lembar kerja terpadu dengan fasilitasnya termasuk compiler untuk pembuatan merupakan lembar kerja terpadu dengan fasilitasnya termasuk compiler untuk pembuatan ata
opensource(tidak berbayar) diantaranya adalah Codeblock, Dev C++, dan Sublime (untuk opensource(tidak berbayar) diantaranya adalah Codeblock, Dev C++, dan Sublime (untuk Mac OS)
Mac OS)
Bahasa pemrograman C++ merupakan bahasa pemrograman yang bersifat case sensitif Bahasa pemrograman C++ merupakan bahasa pemrograman yang bersifat case sensitif yang
yang berberartartii compiler compiler me membmbedakedakan an huhururuf f bebesar sar dan dan huhuruf ruf kekecicil, l, mimisalsalnya nya jijika ka kikitata menuliskan
menuliskan printf printf dandan Printf Printf pada bahasa C maka pada bahasa C maka compiler C compiler C akan menganggap kedua akan menganggap kedua tulisan tersebut berbeda maknanya. Dalam praktikum bahasa pemrograman C++ kali ini, tulisan tersebut berbeda maknanya. Dalam praktikum bahasa pemrograman C++ kali ini, kita akan menggunakan
kita akan menggunakan Dev C++ Dev C++ yang merupakan program IDE sekaligus compiler yang yang merupakan program IDE sekaligus compiler yang bersifat
bersifat open source. open source.
Adapun bagian-bagian yang mendukung dalam pembuatan suatu program yang dibuat Adapun bagian-bagian yang mendukung dalam pembuatan suatu program yang dibuat dengan bahasa pemrograma
dengan bahasa pemrograman C++, n C++, antara laiantara lain n :: o
o Komentar Komentar, merupakan bagian kode program yang tidak dieksekusi oleh, merupakan bagian kode program yang tidak dieksekusi oleh compiler. compiler. Ko
Kommententar ar didiananggggap ap pepentntiing ng ununtutuk k mememmpeperjrjelelas as prprogograram m agagar ar lelebibih h mmududahah dim
dimengerti engerti dan dan memmemberikan berikan infinformasiormasi-inform-informasi asi dari bagian-bagian tertentu dari bagian-bagian tertentu kodekode program.
program. o
o Identifier, Identifier, nama yang diberikan oleh programmer (orang yang membuat program). nama yang diberikan oleh programmer (orang yang membuat program). Penamaan suatu identifier dapat digunakan pada nama program, nama fungsi, atau Penamaan suatu identifier dapat digunakan pada nama program, nama fungsi, atau oby
obyek-obyek ek-obyek lailain n yang terlibat dalam yang terlibat dalam bahasbahasa a pemrograpemrograman, seperti nama man, seperti nama variavariabel,bel, konstan
konstanta yang ta yang akan dibahas lebih akan dibahas lebih lanjlanjut.ut. o
o KeyKeywordword, , kata kunci kata kunci yang yang mer merupakupakan an katakata-ka-kata ta tertertententu tu yang yang mengmenganduandung ng artartii khusus yang terdapat dalam bahasa pemrograman. Dalam bahasa pemrograman C++, khusus yang terdapat dalam bahasa pemrograman. Dalam bahasa pemrograman C++, yang dinamakan
yang dinamakan keyword keyword misalnya asm, class, delete, friend, inline, new, operator, misalnya asm, class, delete, friend, inline, new, operator, private,
private, protected, protected, public, public, template, template, this, this, virtual, virtual, dsb. dsb. Kata-kata Kata-kata yang yang dianggapdianggap se
sebagai keyworbagai keyword d menmenurut stanurut standar dar suasuatu tu bahabahasa sa pempemrograrograman terseman tersebut but titidak dak bolboleheh dipakai sebagai nama
dipakai sebagai nama identifier. identifier. o
o Library funcLibrary function,tion, berb berbeda eda dengandengan keyw keyword, ord, libralibrary ry functifunctionon adal adalah ah puspustaka taka yangyang berisi
berisi fungsi-fungsi fungsi-fungsi yang yang telah telah disediakan disediakan oleh oleh bahasa bahasa C++ C++ dalam dalam file-filfile-filee header header atau
atau library- library-nynya. a. MiMisalsalnya nya salsalah ah satu fungssatu fungsi i lilibrarbrary y yaiyaitutu cout cout disimpan pada file disimpan pada file ios
iostretream, am, digdigunakunakan an untuuntuk k menmencetak cetak ke ke laylayar ar monmonitoritor. . FunFungsigsi-f-fungsungsi i babawaan waan dardarii bahasa
bahasa lain lain juga juga bisa bisa digunakan digunakan asalkan asalkan dicantumkan dicantumkan di di bagian bagian awal.awal. o
Struktur
Struktur prograprogramm
// my fir// my first prost progragram in C++m in C++ ,, mer merupakupakan an barbaris is komkomentaentar r yang yang diawdiawalali i dengdengan an duadua buah
buah tanda tanda miring miring (//) (//) atau atau diapit diapit oleh oleh tanda tanda /**/ /**/ dan dan tidak tidak berpengaruh berpengaruh terhadapterhadap program.
program. Dalam Dalam kasus kasus ini, ini, baris baris komentar komentar ini ini digunakan digunakan untuk untuk mendeskripsikanmendeskripsikan suatu program atau
suatu program atau bagian-bagian-bagian kode yang bagian kode yang dibuat.dibuat.
#include #include <iostream><iostream> , , diawali dengan tanda pagar (#) atau, baris ini merupakan baris diawali dengan tanda pagar (#) atau, baris ini merupakan baris preprocessor.
preprocessor. Dalam Dalam kasus kasus ini,ini, #inc #include lude <ios<iostrtream>eam> men menyayataktakan an ununtuk tuk men
menyeryertatakakan n fifile le sasatantandadar r ioioststreaream. m. FuFungsngsi-i-funfungsgsi i yanyang g seseriring ng didipakpakai ai ololeheh pemrogram
pemrogram awal awal dari dari pustaka pustaka iostream ini iostream ini diantaranya: diantaranya: cin, cin, cout, cout, system(“pause”),system(“pause”),
using nusing namesamespace pace std;std; , , bari baris s ini memberitahini memberitahukan ukan kepada compiler bahwa kepada compiler bahwa programprogram yang sedang
yang sedang ditulditulis menggunakan is menggunakan standstandar ar C++ library. TerkadangC++ library. Terkadang dengan dengan using using namespace std;
namespace std; maka programmer tidak perlu menuliskan .h pada beberapa library maka programmer tidak perlu menuliskan .h pada beberapa library standa
standar r C++ yang C++ yang dicantumdicantumkan.kan.
inint mat main (in ()) ,, b bariaris s ini merupaini merupakan kan funfungsi main gsi main (). Baris ini (). Baris ini mermerupakupakan an intinti i dardarii program.
program. Baris Baris ini ini terdiri terdiri dari dari serangkaian serangkaian source source kode kode yang yang diawali diawali dengan dengan tandatanda ku
kururunng g kukurarawawal l bbukuka a { { dadan n tatandnda a kukururung ng kukurarawawal l tutututup p } } dadan n tatandnda a {} {} itituu menunj
menunjukkan dimana ukkan dimana fungsfungsi main i main () berawal dan berakhir atau disebut blok kode.() berawal dan berakhir atau disebut blok kode.
cout << cout << "Hell"Hello Woro World!"ld!";; ,, baris ini merupakan statement (pernyataan) C++. Suatu baris ini merupakan statement (pernyataan) C++. Suatu pernyataan
pernyataan adalah adalah ekspresi ekspresi sederhana sederhana yang yang dapat dapat menghasilkan menghasilkan beberapa beberapa efek.efek. Perintah cout merepresentasikan standar ouput dalam C++, cout ini dideklarasikan Perintah cout merepresentasikan standar ouput dalam C++, cout ini dideklarasikan pada
pada file file standar standar iostream iostream dalam dalam namespace namespace std. std. Jadi Jadi baris baris kode kode ini ini berfungsi berfungsi untuk untuk menampilkan kalimat “hello world”.
Perhatikan
Perhatikan bahwa bahwa pernyataan pernyataan diakhiri diakhiri dengan dengan karakter karakter titik titik koma koma (;).(;). dig
digunakunakan an untuuntuk k menamenandai ndai akhakhir ir dardari i perpernyatnyataan aan dan dan harharus us disdisertertakanakan pada
pada akhir akhir semua semua pernyataan pernyataan ekspresi ekspresi dalam dalam semua semua C C + + + + program program ..
ReturReturn n 0;,0;,iintruksi return menyebabkan fungsi main() berakhir dan mengembalikanntruksi return menyebabkan fungsi main() berakhir dan mengembalikan
kode yang mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang kode yang mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling
paling sering digunasering digunakan kan untuk untuk mengakhiri mengakhiri program program tanpa tanpa timbal timbal balik balik apapun.apapun.
Skenario Skenario
1.
1. TasTask 1 : Membuat prk 1 : Membuat proyek baroyek baru di devc+u di devc++ dalam OS win+ dalam OS windowsdows 1)
1) Step 1 : Pada aplikasi c++Step 1 : Pada aplikasi c++, pilih File > New Project > New Sour, pilih File > New Project > New Source Filece File
Gambar 2.1 Tampilan proyek baru Gambar 2.1 Tampilan proyek baru
2)
Gambar 2.2 Tampilan source code Gambar 2.2 Tampilan source code
Penjelasan
Penjelasan tampilan tampilan source source codecode
2.
2. TasTask 2 : Mek 2 : Menyimnyimpan ppan proyroyek barek baruu 1)
1) Step 1 : PStep 1 : Pilih Meilih Menu Finu File > Save le > Save As >As > 2)
Gambar 2.3 Tampilan Save As Gambar 2.3 Tampilan Save As
3.
3. TasTask 3 : Kompk 3 : Kompilasilasi dan Eksi dan Eksekusekusi progri programam 1)
Gambar 2.4 Tampilan compile program Gambar 2.4 Tampilan compile program
2)
2) Step Step 2 2 : P: Pilih milih menu Exenu Execute ecute > Run> Run
Gambar 2.5 Tampilan running program Gambar 2.5 Tampilan running program 4.
4. TaTask sk 4 4 : : MemMembubuat at prproyoyek ek babaru ru dadalalam m OS OS LiLinunuxx Pe
Pemrmrogograramman an C+C++ + di di dadallam am sisiststem em opopererasasi i LiLinux nux memengnggugunanakakan n sosofftwtwararee g++
g++ %GN%GNU U C++C++%. %. KomKompilpiler er inini i dapadapat t secsecara ara otootomatmatis is terterinsinstaltall l pada pada saasaat t menmenginginstalstalll sis
sistem tem operasoperasi, dengan i, dengan catatan kita memilcatatan kita memilih ih opsi untuk opsi untuk mengimenginstall g++.nstall g++. Kom
Kompipilasi lasi menmenggunggunakan akan g++ g++ didilaklakukan ukan di di daldalam am conconsolsole e LiLinux nux (te(termirminalnal). ). CarCara a yangyang dil
dilakukan adalah terlebiakukan adalah terlebih h dahuldahulu u mengetimengetikkan file source C++ pada text editor kkan file source C++ pada text editor kemudikemudianan disimpan sebagai file berekstensi .cpp, .cp, cxx, c++, cp, atau cc (contoh : coba1.cpp). Lalu disimpan sebagai file berekstensi .cpp, .cp, cxx, c++, cp, atau cc (contoh : coba1.cpp). Lalu tempatkan dal
g++
g++ <path/nama <path/nama file.cpp> file.cpp> -o -o <file <file output>output> contoh :
contoh : g++ cobag++ coba1 –o ke1 –o keluaranluaran (kemudian tekan (kemudian tekan enter).enter).
Path file tidak diperlukan apabila terlebih dahulu kita masuk ke dalam folder tempat file Path file tidak diperlukan apabila terlebih dahulu kita masuk ke dalam folder tempat file source disimpan. File output bisa tidak diberikan, namun secara default g++ akan membuat source disimpan. File output bisa tidak diberikan, namun secara default g++ akan membuat file output bernama a.out. Dalam contoh tersebut bila tak ada error maka kompilasi akan file output bernama a.out. Dalam contoh tersebut bila tak ada error maka kompilasi akan menghasilkan(output) file binary dengan nama
menghasilkan(output) file binary dengan nama keluaran. keluaran.
Setelah kompilasi dilakukan, cek apakah kompilasi sudah berhasil dengan melihat pesan Setelah kompilasi dilakukan, cek apakah kompilasi sudah berhasil dengan melihat pesan has
hasil il komkompilpilasiasi. . JiJika ka terterdapadapat t pespesan an erroerror r maka maka fifile le outoutput put belbelum um terterbenbentuk. tuk. KiKita ta perlperluu mel
melakukaakukan n edieditinting g soursource(mce(melelalui alui textext t edieditor) tor) kemkemudiaudian n comcompilpile e laglagi. i. CarCara a lailain n untuuntuk k meng
mengetahetahui ui apaapakah kah komkompilpilasi asi berhberhasiasil l dengdengan an memmemasuki asuki folfolder der temtempat pat fifile le soursource ce didi simpan, dan ketikkan perintah
simpan, dan ketikkan perintah ls
ls atau atau dir dir Apa
Apabilbila a teltelah ah munmuncul cul fifile le outoutput put yanyang g kitkita a defdefininisiisikan kan atau filatau file e a.oua.out t mamaka ka komkompipilasilasi berhasil.
berhasil. Sebaliknya Sebaliknya jika jika file file belum belum muncul muncul maka maka kompilasi kompilasi belum belum berhasil. berhasil. Eksekusi Eksekusi filefile output dengan
output dengan mengetimengetikkan kkan periperintahntah ./<nama file output>
./<nama file output> Contoh :
Contoh : ./keluaran ./keluaran Perinta
Perintah ini h ini memmembuat kita buat kita dapat melidapat melihat hat hasihasil l program yang sudah dibuat.program yang sudah dibuat. Tipe Data Dasar
Tipe Data Dasar (Integer, Real, Karakter, String, Boolean) (Integer, Real, Karakter, String, Boolean) a.
a. TujuTujuan an PemPembelabelajarajarann o
o Mahasiswa mengenal tipe Mahasiswa mengenal tipe dasar integer, ridasar integer, riil, karakter, striil, karakter, string, dan boolean.ng, dan boolean. o
o MahasMahasiswa paham bagaimana mengiiswa paham bagaimana mengimplemmplementasikan suatu operasi dari tientasikan suatu operasi dari tipe pe datadata dasar tersebut ke dalam bahasa pemrograman C++.
dasar tersebut ke dalam bahasa pemrograman C++. b.
b. LataLatar r BelBelakaakangng
Awal dari pembahasan pemrograman, kita akan menggunakan tipe data dasar terlebih Awal dari pembahasan pemrograman, kita akan menggunakan tipe data dasar terlebih dahul
dahulu u yang meliyang meliputi puti tipe data integer, real, char, string dan boolean.tipe data integer, real, char, string dan boolean. c.
c. TeTeororii Tipe data
Tipe data adal adalah ah jenjenis is data data berdberdasaasarkan rkan isi isi dan dan sisifatnfatnya. ya. MiMisalsalnya nya kikita ta analanalogiogikankan dengan contoh kasus sehari-hari yaitu galon air hanya khusus dibuat untuk menampung dengan contoh kasus sehari-hari yaitu galon air hanya khusus dibuat untuk menampung jenis
Adapun jenis-jenis tipe data dasar pemrograman, antara lain : Adapun jenis-jenis tipe data dasar pemrograman, antara lain :
o
o Integer, Integer, ti tipe pe bibilangan langan bulbulat at bibiasa asa disdisebut ebut sesebagai bagai intintegereger, , namnamun un titipe pe bibilangalangann bulat
bulat tidak tidak hanya hanya terdiri terdiri dari dari integer, integer, masih masih ada ada tipe tipe lain lain seperti seperti short short dan dan long,long, yang membedakan
yang membedakan ketiketiga ga tipe tersebut adalah tipe tersebut adalah jangkajangkauan uan bibilangannylangannya.a. o
o Real, Real, tipe ini digunakan untuk menyatakan bilangan yang membutuhkan ketelitian tipe ini digunakan untuk menyatakan bilangan yang membutuhkan ketelitian dengan adanya nilai
dengan adanya nilai dibeldibelakang koma. akang koma. DiantarDiantaranya yaitu: double, single, float.anya yaitu: double, single, float. o
o Char, Char, tipe data yang tipe data yang digundigunakan untuk akan untuk menyimenyimpan mpan sebuah karaktesebuah karakter.r. o
o String, String, tipe data yang berupa kumpulan karakter (satu atau lebih) yang berada di tipe data yang berupa kumpulan karakter (satu atau lebih) yang berada di dalam dua buah tanda petik dua (“) dalam bahasa C.
dalam dua buah tanda petik dua (“) dalam bahasa C. o
o Boolean Boolean, tipe data yang digunakan untuk menyatakan pernyataan benar , tipe data yang digunakan untuk menyatakan pernyataan benar (true) (true) atau atau salah
salah (false) (false).. Ja
Jangkngkauaauan n titiap ap titipe pe datdata a berberbebeda-da-bebeda da babaik ik dadari ri ninilai lai jajangkngkauauannannya ya mamaupuupun n babahashasaa pemrograman.
pemrograman.
Tabel 2.1 Jangkauan tipe data Tabel 2.1 Jangkauan tipe data
T
Tiippe e DDaassaar r JJaannggkkaauuaan n NNiillaai i JJuummllaah h DDiiggiitt Presisi Presisi C Chhaar r --11228 8 hhiinngggga a ++11227 7 --IInnt t --332277668 8 hhiinngggga a ++332277667 7 --L Loonng g --22..114477..443388..66448 8 hhiinngggga a 22..114477..443388..66447 7 --F
Fllooaat t 33,,44EE--338 8 hhiinngggga a 33,,44EE338 8 66--77 D
Doouubblle e 11..77EE--33008 8 hhiinngggga a 11..77EE33008 8 1155--1166 L
Loonng g DDoouubblle e 33..44EE--4499332 2 hhiinngggga a 11..11EE4499332 2 1199
Variabel
Variabel m meruperupakan akan temtempat pat untuntuk uk memenyinyimpan mpan data data dengdengan an titipe pe tertertententu tu yanyangg isinya bisa diubah-ubah sesuai dengan tipenya dan konstanta sebenarnya adalah variabel isinya bisa diubah-ubah sesuai dengan tipenya dan konstanta sebenarnya adalah variabel yang
yang ditenditentukan tukan nilnilai ai standstandarnyaarnya (default) (default) dari awal dan biasanya nilainya tidak diubah- dari awal dan biasanya nilainya tidak diubah-ubah
ubah. . VarVariaiabel bel dan dan konkonstanstanta ta haruharus s dididekldeklarasarasikaikan n terterlelebih bih dahdahulu ulu agar prograagar program m dapadapatt mengalokasikan memory untuk menampung data yang spesifik dan memprosesnya dalam mengalokasikan memory untuk menampung data yang spesifik dan memprosesnya dalam
program
program sehingga sehingga didapatkan didapatkan output output yang yang sesuai. sesuai. Bahasa Bahasa C++ C++ telah telah mendukung mendukung deklarasideklarasi variabel sekaligus inisialisasi, contohnya adalah :
variabel sekaligus inisialisasi, contohnya adalah :
Ini
Inisialisasialisasi si juga juga merupakmerupakanan penugasan penugasan yai yaitu tu prosproses es memmemasuasukkan kkan ninilai lai kedakedalamlam vari
variabel abel dendengan gan banbantuan tuan operoperatoator r (=)(=). . PenPenugasugasan an sersering ing didisebusebut t sebsebagai agai ““assignment assignment ”.”. Dar
Dari i contcontoh oh didiatas atas , , prosproses es asassigsignmennment-nt-nya ya daldalah ah memmemasukasukkan kan datadata string string (kumpulan (kumpulan karakter) kedalam setiap larik variabel
karakter) kedalam setiap larik variabel tabelmerk[0] tabelmerk[0] hingga larik hingga larik tabelmtabelmerk[4].erk[4]. Konstanta
Konstanta mirip dengan variabel, namun memiliki nilai tetap. Konstanta dapat berupa mirip dengan variabel, namun memiliki nilai tetap. Konstanta dapat berupa nilai interger, float, karakter, dan string. Pendeklarasian konstanta dapat dilakukan dengan dua nilai interger, float, karakter, dan string. Pendeklarasian konstanta dapat dilakukan dengan dua cara:
cara:
MenggunakMenggunakan an ((#define#define))
Deklarasi konstanta dengan cara ini, lebih mudah dilakukan karena akan Deklarasi konstanta dengan cara ini, lebih mudah dilakukan karena akan menyertakan
menyertakan #define #define sebagai preprocessor directisebagai preprocessor directive. Dan sintaksnyave. Dan sintaksnya diletakkan bersama-sama dengan pernyataan
diletakkan bersama-sama dengan pernyataan #include #include (diatas main(diatas main( ) )( ) ) Format penulisannya adalah:
Format penulisannya adalah: #define
#define penge pengenal nal nilanilaii Contoh penggunaan :
Contoh penggunaan :
Pendeklarasian dengan
Pendeklarasian dengan #define #define tanptanpa a dipediperlukarlukan n adanadanya ya tandtanda a = = untuuntuk k memmemasukkasukkanan nilai ke dalam pengenal dan juga tanpa diakhiri dengan tanda titik koma atau semicolon (;) nilai ke dalam pengenal dan juga tanpa diakhiri dengan tanda titik koma atau semicolon (;)
Menggunakan konstanta (const) Menggunakan konstanta (const)
Sedangkan dengan kata kunci const, pendeklarasian konstanta mirip dengan Sedangkan dengan kata kunci const, pendeklarasian konstanta mirip dengan deklarasi variabel yang ditambah kata depan const dan langsung inisialisasi. deklarasi variabel yang ditambah kata depan const dan langsung inisialisasi. Contoh:
Untuk contoh terakhir, deklarasi variabel zip yang tanpa tipe data, maka compiler akan secara Untuk contoh terakhir, deklarasi variabel zip yang tanpa tipe data, maka compiler akan secara otomatis memasukkannya kedalam tipe
otomatis memasukkannya kedalam tipe int int d.
d. Skenario Skenario Tah
Tahapan-apan-tahtahapan apan yang yang terterpenpentinting g daldalam am memmembuat buat suasuatu tu progprogram ram adaladalah ah dimdimulaiulai deng
dengan an mendmendekleklarasarasikan ikan varvariabiabel el yang yang akan akan dipdipakai akai dan dan jenjenis is titipe pe datadatanynya, a, selselanjanjutnyutnyaa mel
melakukaakukan n iniinisisialialisasi sasi pada pada varvariabiabel el tertersebsebut, ut, kemkemudian udian menmendefdefiniinisikasikan n prosproseses-pro-prosesess penyelesaian
penyelesaian masalah masalah yang yang dapat dapat berupa berupa rumus-rumus rumus-rumus perhitungan perhitungan atau atau instruksi instruksi dandan perintah-perintah
perintah-perintah yang yang lain. lain. Pendeklarasian Pendeklarasian suatu suatu variabel variabel dan dan tipe tipe datanya datanya pada pada bahasabahasa C++ dapat dilihat pada step-step berikut :
C++ dapat dilihat pada step-step berikut : 1.
1. TasTask 1 k 1 : Membu: Membuat proat program pegram penjumnjumlahlahan 2 bilangan 2 bilangan bulan bulat :at : 1)
1) Step 1 : DeklaStep 1 : Deklarasi variabel-varasi variabel-variabelriabel Penjelasan:
Penjelasan: Variabel-variabel yang digunakan untuk proses penjumlahan dua Variabel-variabel yang digunakan untuk proses penjumlahan dua buah
buah bilangan bilangan bulat, bulat, adalah adalah a a dan dan b. b. Oleh Oleh karena karena dua dua buah buah bilangan bilangan yangyang di
diproproseses s mermerupaupakakan n bibilanlangan gan bubulalat, t, makmaka a titipe pe datdata a yanyang g didigungunakaakan n papadada variabel a dan variabel b adalah integer.
variabel a dan variabel b adalah integer. 2)
2) Step 2 : Step 2 : InisialisaInisialisasisi Penjelasan:
Penjelasan: Inisialisasi pada variabel a dan b adalah pemberian nilai awal pada Inisialisasi pada variabel a dan b adalah pemberian nilai awal pada kedua variabel yang
kedua variabel yang akan digunakan.akan digunakan. 3)
3) Step Step 3 : P3 : Prosesroses Penjelasan:
Penjelasan: Berisi proses penjumlahan. Berisi proses penjumlahan. 4)
4) Step 4 : Step 4 : FinalisasFinalisasii Penjelasan:
Penjelasan: merupakan tahapan untuk mengakhiri program, meliputi tampilan merupakan tahapan untuk mengakhiri program, meliputi tampilan hasil ke output devices (layar), dan return 0 digunakan untuk mengakhiri dan hasil ke output devices (layar), dan return 0 digunakan untuk mengakhiri dan me
mengengembmbalalikaikan n ninilailai, , karkarenena a prprogrogram am kikita ta memenggnggunaunakan kan ININT T (l(lihihat at padpadaa fungsi main), maka perlu adanya pengembalian nilai. Untuk itu kita gunakan fungsi main), maka perlu adanya pengembalian nilai. Untuk itu kita gunakan return 0 agar
Gambar 2.6 Tampilan kode program Gambar 2.6 Tampilan kode program 2.
2. Task 2 : Task 2 : KompilasKompilasi & Eksei & Eksekusi progkusi programram
Gambar 2. Tampilan hasil program Gambar 2. Tampilan hasil program e.
e. LaLatitihahann 1.
1. BuatBuatlalah h progprogram untuk menenram untuk menentukan suatu bilatukan suatu bilangan termangan termasuk bilansuk bilangan gan ganjganjil il ataatauu genap.
genap. 2.
2. BuatlaBuatlah program unh program untuk menentukatuk menentukan suatu bn suatu bilangan termilangan termasuk biasuk bilangan primlangan prima.a. 3.
3. BuatlaBuatlah program h program untuk muntuk menghienghitung luas tung luas linlingkaran.gkaran.
Operator Operator
f.
f. TujuTujuan an PemPembelabelajarajarann o
o Mahasiswa mMahasiswa mengenal defiengenal definisi dan nisi dan macam-macam operator.macam-macam operator. o
o MahasiMahasiswa mampu swa mampu mengimengimplemmplementasikan operator-entasikan operator-operator teroperator tersebut pada studisebut pada studi kasus yang berikan.
a.
a. LataLatar r BelBelakaakangng
Untuk memproses suatu pemrosesan yang lebih rumit terkadang kita membutuhkan Untuk memproses suatu pemrosesan yang lebih rumit terkadang kita membutuhkan suatu simbol
suatu simbol atau perintah tanda atau perintah tanda untuk memperlauntuk memperlakukan kukan terhaterhadap dap suatu variabel-vasuatu variabel-variabelriabel yang dinamakan dengan
yang dinamakan dengan operatoroperator.. b.
b. TeTeororii
Operator adalah simbol atau tanda yang jika diletakkan pada dua buah operan dapat Operator adalah simbol atau tanda yang jika diletakkan pada dua buah operan dapat meng
menghashasililkan kan sebsebuah uah hashasilil, , contocontohnyhnya a pada matempada matematikatika a yakyakni ni tantanda da tamtambah bah (+) (+) jijikaka diletakkan di antara dua buah angka akan menghasilkan angka lain hasil pertambahan dua diletakkan di antara dua buah angka akan menghasilkan angka lain hasil pertambahan dua angka tersebut. Tanda tambah inilah
angka tersebut. Tanda tambah inilah yang disebut sebagai operator.yang disebut sebagai operator. Operator memi
Operator memiliki liki beberapa jenis sebagai beberapa jenis sebagai beriberikut kut :: o
o Operator Operator AritmatikaAritmatika O
Oppeerraattoor r DDeesskkrriippssi i CCoonnttoohh +
+ PPeennjjuummllaahhaan n aa++bb -
- PPeenngguurraannggaan n aa--bb *
* PPeerrkkaalliiaan n aa**bb /
/ PPeemmbbaaggiiaan n aa//bb %
% SSiissa a ppeemmbbaaggiiaan n ((mmoodduulloo) ) aa%%bb
-- NNeeggaassii --aa
Operator negasi (-) disebut unary operator, karena membutuhkan hanya satu buah Operator negasi (-) disebut unary operator, karena membutuhkan hanya satu buah oper
operand and , , sedsedangangkan kan operoperator % ator % (mod(moduluulus) s) didigunagunakan kan untuuntuk k menmencari cari sisisa sa pempembagibagianan antara dua bilangan.
antara dua bilangan.
Misalnya : 9 % 2 = 1, 9 % 3 = 0 Misalnya : 9 % 2 = 1, 9 % 3 = 0 o
o Operator Operator RelasiRelasi O
Oppeerraattoor r DDeesskkrriippssi i CCoonnttoohh =
!
! = = TTiiddaak k ssaamma a ddeennggaan n a a !!= = b b AAppaakkaah h a a ttiiddaak k ssaamma a ddeennggaann b
b >
> LLeebbiih h bbeessaar r aa>>b b AAppaakkaah h a a lleebbiih h bbeessaar r bb <
< LLeebbiih h kkeecciil l aa<<b b AAppaakkaah h a a lleebbiih h kkeecciil l bb >
>= = LLeebbiih h bbeessaar r aattaauu sama dengan sama dengan
a>
a>=b =b ApApakakah ah a a lelebibih h dadari ri ataatauu sama dengan b
sama dengan b <
<= = LLeebbiih h kkeecciil l aattaauu sama dengan sama dengan
a<
a<=b =b ApApakakah ah a a kurkuranang g dardari i ataatauu sama dengan b
sama dengan b
o
o OperaOperator Increment & Dector Increment & Decrementrement O
Oppeerraattoor r DDeesskkrriippssi i CCoonnttooh h AArrttii +
++ + IInnccrreemmeennt t a a +++ + aa==aa++11 -
- - - DDeeccrreemmeennt t b b - - - - bb==bb--11
o
o Operayor Operayor BitwiseBitwise O
Oppeerraattoor r DDeesskkrriippssi i CCoonnttoohh <
<< < GGeesseer r n n bbiit t kke e kkiirri i ( ( lleefft t sshhiifft t ) ) a a >>> > bb >
>> > GGeesseer r n n bbiit t kke e kkaannaan n ( ( rriigghht t sshhiifft t ) ) a <a << < bb &
& BBiittwwiisse e AANND D a a & & bb | | BBiittwwiisse e OOR R a a | | bb ^ ^ BBiittwwiisse e XXOOR R a a ^ ^ bb ~ ~ BBiittwwiisse e NNOOT T ~ ~ bb o
o Operator Operator LogikaLogika O
Oppeerraattoor r DDeesskkrriippssi i CCoonnttoohh &
& & & LLooggiikka a AANND D a a &&& & bb |
| | | LLooggiikka a OR OR a a | | | | bb !
! LLooggiikka a NNOOT T ! ! bb
Pada operator logika diatas seringkali dipakai dalam kondisi percabangan atau perulangan, Pada operator logika diatas seringkali dipakai dalam kondisi percabangan atau perulangan, contoh :
yang tidak boleh digunakan dalam kondisi percabangan ataupun perulangan ialah operator yang tidak boleh digunakan dalam kondisi percabangan ataupun perulangan ialah operator assignment yaitu ‘=’. Contoh nya:
assignment yaitu ‘=’. Contoh nya:
.. Pada
Pada perperintaintahh forfor na nantintinya nya jujuga ga dijdijumpai umpai asassisignmengnment t namnamun un titidak dak pada pada konkondidisinysinya,a, melai
melainkan hanya pada bagian nkan hanya pada bagian pencacapencacah maju atau mundur. Conh maju atau mundur. Contoh:toh:
fo
for(
r(in
int
t i=
i=0;
0; i<
i<=9
=9;
; i=
i=i+
i+2)
2)
// , // , i=i=i+i+2 2 titidadak k teterlrletaetak k papada da konkondidisi si kakarerenana dipidipisahkan tansahkan tanda ( da ( ; ; ))
//tetapi bagian yang menyatakan kondisi adalah pada (i<=9) //tetapi bagian yang menyatakan kondisi adalah pada (i<=9)
o
o OperaOperator Kontor Kondisidisi Operator kondi
Operator kondisi si ditanditandai dai dengadengan n notasinotasi ?? digunak digunakan an untuntuk uk memmemperolperoleh eh ninilai lai dari duadari dua kemungki
kemungkinan nan ::
ungkapan1 ? ungkapan2 : ungkapan3 ungkapan1 ? ungkapan2 : ungkapan3 Bi
Bila la ninilai lai unungkgkapaapan1 n1 bebenarnar, , mamaka ka ninilailainya nya sasama ma dedengangan n unungkgkapaapan2n2, , bibila la titidadak k mamakaka nil
nilainya ainya samsama a dengan ungkapan3dengan ungkapan3
I/O I/O a.
a. TuTujuajuan n PePembembelajlajararanan o
o Mahasiswa mMahasiswa mengenal konsep dasar engenal konsep dasar Input Output Input Output (I/O).(I/O). o
o MahMahasiasiswa swa pahpaham am bagabagaimaimana na lanlangkahgkah-l-langkaangkah h menmengimgimplemplementasentasikan ikan dendengangan masukan
masukan (input) (input) ter tertententu tu dan dan menmenampiampilkan lkan kelkeluaranuaran (output) (output) dar dari i hashasil il yanyangg diharap
diharapkan kan pada pada contoh kasus-kascontoh kasus-kasus us yang yang diberidiberikan.kan.
b.
b. LaLatar tar BelBelakakangang Ke
Keteltelititiaian n daldalam am susuatu atu pempemrosrosesesan an teterhrhadaadap p mamasasalalah h teterlrletaetak k papada da hahasisil l yayangng didapatkan apakah sesuai dengan yang dibutuhkan atau tidak (
didapatkan apakah sesuai dengan yang dibutuhkan atau tidak (valid valid atau atau invalid invalid ). Untuk ). Untuk mendapatkan hasil yang diharapkan, maka harus diperhatikan input (masukan), proses, dan mendapatkan hasil yang diharapkan, maka harus diperhatikan input (masukan), proses, dan output (keluaran).
output (keluaran).
Operasi pada input dilakukan untuk membaca data atau nilai yang akan diproses. Nilai Operasi pada input dilakukan untuk membaca data atau nilai yang akan diproses. Nilai dar
dari i susuatu atu vavaririababel el dadapat pat diditententuktukan an di di daldalam am prprogrogram am ataatau u didimamasuksukkan kan ololeheh user user (pengguna) dari
(pengguna) dari keyboard keyboard dengan menggunakan fungsi yang telah ada pada dengan menggunakan fungsi yang telah ada pada library library pada pada bahasa
bahasa pemrograman pemrograman c++.c++.
Berbeda dengan operasi pada
Berbeda dengan operasi pada input input , operasi pada, operasi pada output output dilakukan untuk mengirimkan dilakukan untuk mengirimkan atau menampilkan data atau nilai kepada piranti keluaran
atau menampilkan data atau nilai kepada piranti keluaran (output device) (output device), misalnya printer , misalnya printer atau
atau laylayar ar (monitor). (monitor). Con Contoh toh dari dari operoperasi asi oupuouput t yaiyaitu tu memenampinampilkan lkan kalkalimimat at ke ke lalayar,yar, biasanya
biasanya dilakukan dilakukan untuk untuk menampilkan menampilkan perintah perintah untuk untuk memasukkan memasukkan input input ke ke program,program, atau menampilkan nilai dari suatu variabel ke
atau menampilkan nilai dari suatu variabel ke monitor monitor dengan menggunakan library yang dengan menggunakan library yang ada
ada pada pada bahabahasa sa pempemrograrogramaman n c++c++, , bibiasanyasanya a didilakulakukan kan untuuntuk k menmenampiampilkan lkan hashasil il suasuatutu perhitungan
perhitungan atau atau hasil hasil suatu suatu solusi. solusi. Dalam Dalam library library iostream iostream C++, C++, standard standard operasi operasi input input dandan output untuk pemrograman didukung oleh 2 data streams: cin untuk input dan cout untuk output untuk pemrograman didukung oleh 2 data streams: cin untuk input dan cout untuk output.
output. St
Standandarard d outoutpuput t (c(coutout)), , pepenggnggununaan aan cocout ut ststreream am dhdhububungungkakan n dendengan gan opeoperaratotor r overloaded << (Sepasang tanda "less than").
overloaded << (Sepasang tanda "less than"). Contoh :
Contoh :
Operator
Operator << << dikenal sebagai insertion operator, dimana berfungsi untuk menginput dikenal sebagai insertion operator, dimana berfungsi untuk menginput data yang
data yang mengmengikuikutintinya. ya. JiJika ka beruberupa pa strstringing, , makmaka a harharus us didiapiapit t dengdengan an kutikutip p gandganda a ((""),), sehingga membedakannya dari variable.
sehingga membedakannya dari variable. Contoh :
Contoh :
Op
Operaerator tor ininsesertirtion on (<(<<) <) dapdapat at didigungunakaakan n lelebibih h dadari ri 1 1 kalkali i daldalam am kalkalimimat at yayang ng sasamama,, contoh :
Contoh diatas akan menampilkan Hello, I am a C++ sentence pada layar monitor. Manfaat Contoh diatas akan menampilkan Hello, I am a C++ sentence pada layar monitor. Manfaat dar
dari i pepengungulalangangan n pepenggnggunaunaan an opeoperaratotor r ininsersertition on (<(<<) <) adadalalah ah ununtuk tuk menmenamampipilklkanan kombi
kombinasi nasi dari satu variabel dan dari satu variabel dan konstankonstanta atau ta atau lebihlebih,,
Contoh 1 : Contoh 1 :
Misalkan variabel umur diisi dengan angka 18, dan variabel angkatan diisi dengan 2012. Misalkan variabel umur diisi dengan angka 18, dan variabel angkatan diisi dengan 2012. Maka output yang
Maka output yang dihadihasilsilkan kan adaladalah ah ::
Hello, umurku 18 tahun dan aku angkatan 2012 Hello, umurku 18 tahun dan aku angkatan 2012 Contoh 2 :
Contoh 2 :
Maka keluaran yang dihasilkan adalah : Maka keluaran yang dihasilkan adalah : Kalimat Pertama. Kalimat Pertama. Kalimat Kedua. Kalimat Kedua. Kalimat Ketiga. Kalimat Ketiga. Selai
Selain n dengan karakter new-lidengan karakter new-line, ne, dapat juga menggunakan manipuldapat juga menggunakan manipulator ator endl, contoh :endl, contoh :
Output : Output : Kalimat Pertama. Kalimat Pertama. Kalimat Kedua. Kalimat Kedua. Standar
Standard d input (cin),input (cin), penggun penggunaannyaannya a dengan menambahkan dengan menambahkan overloverloaded oaded operatooperator r extraction (>>) pada cin stream. Harus diikuti bengan variable yang akan menyimpan data. extraction (>>) pada cin stream. Harus diikuti bengan variable yang akan menyimpan data. Contoh :
Contoh diatas mendeklarasikan variabel umur dengan tipe int dan menunggu input Contoh diatas mendeklarasikan variabel umur dengan tipe int dan menunggu input dari cin (keyborad) untuk disimpan di variabel umur. Perintah cin akan memproses input dari cin (keyborad) untuk disimpan di variabel umur. Perintah cin akan memproses input dari keyboa
dari keyboard rd seksekalali i sasaja ja dan dan tomtombol bol ENTEENTER R haharus ditekarus ditekan. n. cin juga cin juga dapadapat t didigunakgunakanan untuk lebih dari satu input :
untuk lebih dari satu input : cin >> a >> b; cin >> a >> b; Equivalen
Equivalen dengandengan : : cin >> a; cin >> a; cin >> b; cin >> b;
Dalam hal ini data yang di input harus 2, satu untuk variabel a dan lainnya untuk variabel b Dalam hal ini data yang di input harus 2, satu untuk variabel a dan lainnya untuk variabel b yang penulisannya dipisahkan dengan : spasi, tabular atau newline.
yang penulisannya dipisahkan dengan : spasi, tabular atau newline.
Biasanya cout (standard output stream) ditujukan untuk monitor dan cin (standard input Biasanya cout (standard output stream) ditujukan untuk monitor dan cin (standard input stream) ditujukan untuk keyboard. Dengan menggunakan dua streams ini, maka kita dapat stream) ditujukan untuk keyboard. Dengan menggunakan dua streams ini, maka kita dapat berinteraksi
berinteraksi dengan dengan user user dengan dengan menampilkan menampilkan messages messages pada pada monitor monitor dan dan menerima menerima inputinput dari
dari keyboardkeyboard.. d.
d. Skenario Skenario
Contoh implementasi dari operasi I/O (Input Output), yaitu program yang digunakan Contoh implementasi dari operasi I/O (Input Output), yaitu program yang digunakan untuk menerima input dari mahasiswa yaitu yang berupa nim, nama, umur, alamat, dan untuk menerima input dari mahasiswa yaitu yang berupa nim, nama, umur, alamat, dan nil
nilai ai NEM dan NEM dan menammenampilkan data pilkan data diri tersebudiri tersebut t masimasing-masing-masing ng mahasimahasiswa swa ke layar ke layar monitor. monitor. 1.
1. Task 1 : Membuat prTask 1 : Membuat program data mahasiswogram data mahasiswa.a. 1)
1) SteStep p 1 1 : : MenMendedeklklararasiasikan kan varvariabiabelel-va-variariabebel l yanyang g dipdipakakai ai besbesererta ta tiptipee datanya.
datanya. Penjelasan
Penjelasan :: Variabel Variabel-vari-variabel abel yang digunakan untuk yang digunakan untuk proses menamproses menampilkan datapilkan data di
diri ri mahamahasisiswa, swa, yaiyaitu tu vavariariabel bel ninim, m, namnama, a, dan dan alalamat amat yanyang g masmasining-masg-masiningg va
variriabeabel l tetersrsebebut ut berbertitipe pe datdata a chachar, r, yanyang g memmembedbedakakan an hanhanya ya ukukuraurannnnyaya.. Variabel umur bertipe integer, dan variabel nem bertipe float karena terdiri dari Variabel umur bertipe integer, dan variabel nem bertipe float karena terdiri dari angka yang memerlukan ketelitian angka dibelakang koma.
angka yang memerlukan ketelitian angka dibelakang koma. 2)
Penjelasan
Penjelasan :: Oleh karena pada program ini menerima masukan langsung dari Oleh karena pada program ini menerima masukan langsung dari user, maka tidak pelu diberi inisialisasi awal.
user, maka tidak pelu diberi inisialisasi awal. 3)
3) Step 3 : Proses pemStep 3 : Proses pemecahan masalahecahan masalah.. Penjelasan
Penjelasan :: Membaca masukan (input) dari user dengan menggunakan fungsi Membaca masukan (input) dari user dengan menggunakan fungsi cin, dan menampilkan hasilnya ke layar dengan menggunakan fungsi cout. cin, dan menampilkan hasilnya ke layar dengan menggunakan fungsi cout. 4)
4) Step 4 : Step 4 : FinalisasFinalisasi.i. Penjelasan
Penjelasan :: Menghentik Menghentikan an fungsfungsi i mainmain() () yaitu dengan perintah return 0.yaitu dengan perintah return 0.
Gambar 2. Tampilan kode program Gambar 2. Tampilan kode program
2.
Gambar 2. Tampilan running program Gambar 2. Tampilan running program
2.5 Latihan 2.5 Latihan
1.
1. BuBuatatllah ah prprogograram m pepenjnjumumlalahan han 2 2 bbuah uah bibilalangngan an dedengngan an memengnggugunanakakan n iinpnputut (masukan) dari user (pengguna)!
(masukan) dari user (pengguna)! 2.
2. BuatBuatlalah h progprogram untuk menghiram untuk menghitung tung wakwaktu tu yang ditemyang ditempuh puh beberdasrdasarkarkan an kecekecepatapatann dan jarak yang ada dengan menggunakan input dari user!
dan jarak yang ada dengan menggunakan input dari user! 3.
3. BuatBuatlalah h progprograram m konkonversversi i matmata a uang rupiuang rupiah ah ke dolar dengan menggke dolar dengan menggunakunakan an inpinputut dari user yaitu yang berupa nominal mata uang rupiah, jika diketahui untuk 1 USD dari user yaitu yang berupa nominal mata uang rupiah, jika diketahui untuk 1 USD = Rp 9.600,-!
BAB III
BAB III
STRUKTUR RUNTUNAN DAN CONTROL STATEMENT
STRUKTUR RUNTUNAN DAN CONTROL STATEMENT
3.1 Tujuan 3.1 Tujuan
a.
a. MeneraMenerangkan langkah-lngkan langkah-langkah logis dalam suatu alangkah logis dalam suatu algoritmagoritma b.
b. Menerangkan Menerangkan macam-macam macam-macam control control statement statement di di dalam dalam C++C++ c.
c. MeneraMenerangkan cara menggunangkan cara menggunakan control skan control statemetatementnt d.
d. MeneraMenerangkan operasi logika untuk mengatur kondngkan operasi logika untuk mengatur kondisi salam control stateisi salam control statementment e.
e. PraktiPraktikan mampu menyeleskan mampu menyelesaikan masalaikan masalah ah secarsecara runtun dan logisa runtun dan logis f.
f. PraktiPraktikan memahamkan memahami cara menggunakai cara menggunakan control sn control statemetatementnt g.
g. PraktiPraktikan memahami cara mengatur kondikan memahami cara mengatur kondisi si di dalam control statemdi dalam control statementent
3.2 Teori 3.2 Teori a.
a. PendahulPendahuluanuan Al
Algorgorititma ma memeruprupakaakan n runruntuntunan an (s(sequequencence) e) sasatu tu ataatau u lelebibih h ininstrstruksuksi i ataatau u perpernynyataaataann (st
(statematement)ent), , dan dan setisetiap ap pernpernyatayataan an dikdikerjerjakan akan secsecara ara beberurururutan tan sessesuai uai dengdengan an uruturutanan penulisannya,
penulisannya, yang yang berarti berarti bahwa bahwa :: 1.
1. SetiaSetiap instrp instruksi diuksi dikerjakakerjakan satu pen satu per satur satu 2.
2. TiTiap instruksap instruksi dilaksanai dilaksanakan tepat sekalkan tepat sekali (tidak ada instruksi (tidak ada instruksi yang diulang)i yang diulang) 3.
3. TiTiap ap ininstrustruksi dilakksi dilaksanasanakan kan dengdengan an uruturutan an yang yang samsama a anantara pemrostara pemroses es dendengangan yang tertulis di dalam teks algoritmanya
yang tertulis di dalam teks algoritmanya 4.
4. AkhiAkhir dari instrr dari instruksi terauksi terakhikhir merupakan akhr merupakan akhir algoriir algoritma.tma.
Sebagai contoh, misalkan saja kita memiliki dua buah gelas, gelas A dan gelas B, yang Sebagai contoh, misalkan saja kita memiliki dua buah gelas, gelas A dan gelas B, yang berisi
berisi minuman. minuman. Gelas Gelas A A berisi berisi kopi kopi dan dan gelas gelas B B berisi berisi susu. susu. Jika Jika kita kita ingin ingin menukar menukar isiisi da
dari ri kekedudua a gegellas as tetersrsebebutut, , sususu su memenenemmpatpati i gegelalas s A A dadan n kokopi pi mmenenemempapati ti gegellas as B.B. Bagai
Bagaimana mana kita akan kita akan melakukamelakukannya? Perhatikan algoritmnnya? Perhatikan algoritma a beriberikut:kut: 1.
2.
2. TuTuangangkan kan isi isi gelgelas as B B ke ke gelgelas as AA
Apakah yang akan terjadi pada kopi dan susu tersebut? Apakah susu sekarang berada Apakah yang akan terjadi pada kopi dan susu tersebut? Apakah susu sekarang berada pada
pada gelas gelas A A dan dan kopi kopi berada berada pada pada gelas gelas B?B?
Yang terjadi adalah ketika anda menuang isi gelas A, kopi, ke gelas B pada langkah Yang terjadi adalah ketika anda menuang isi gelas A, kopi, ke gelas B pada langkah pertama,
pertama, gelas gelas B B sedang sedang berisi susu, berisi susu, sehingga sehingga anda anda melakukan melakukan pencampuran pencampuran kopi kopi dengandengan susu
susu. . Pada langkah kedua, kopi Pada langkah kedua, kopi sussusu u pada gelas B pada gelas B dipidipindahkan ke ndahkan ke gelas A. Hasil akhirnygelas A. Hasil akhirnyaa adalah gelas A berisi kopi susu sedangkan gelas B akan kosong.
adalah gelas A berisi kopi susu sedangkan gelas B akan kosong. Lal
Lalu u bagaibagaimana algoritma yang benar? Di mana algoritma yang benar? Di sinsini i kita memerlkita memerlukan ukan 1 gelas tambahan,1 gelas tambahan, gelas C, untuk menampung sementara isi salah satu gelas agar tidak terjadi percampuran isi gelas C, untuk menampung sementara isi salah satu gelas agar tidak terjadi percampuran isi gelas. Algoritmnya akan menjadi:
gelas. Algoritmnya akan menjadi: 1.
1. TuTuanangkgkan an iisi si gegellasas AA ke ke gegellas as CC 2.
2. TuTuangangkan kan isi isi gelgelas as B B ke ke gelgelas as AA 3.
3. TuTuangangkan kan isi isi gelgelas as C C ke ke gelgelas as BB
Apa yang terjadi di sini? Kondisi mula-mula adalah gelas A berisi kopi, gelas B berisi Apa yang terjadi di sini? Kondisi mula-mula adalah gelas A berisi kopi, gelas B berisi susu dan gelas C kosong. Pada langkah pertama kita menuang kopi ke gelas C yang masih susu dan gelas C kosong. Pada langkah pertama kita menuang kopi ke gelas C yang masih kosong, sehingga gelas C berisi kopi dan gelas A menjadi kosong. Pada langkah kedua kita kosong, sehingga gelas C berisi kopi dan gelas A menjadi kosong. Pada langkah kedua kita me
memimindahndahkakan n sususu su dadari ri gelgelas as B B memenunuju ju gegelalas s A A yayang ng susudah dah koskosonong g kakarerena na lalangkngkahah pertama.
pertama. Hasil Hasil akhirnya akhirnya adalah adalah gelas A gelas A berisi berisi susu, susu, gelas gelas B B kosong kosong dan dan gelas gelas C C berisi berisi kopi.kopi. Langkah terakhir adalah menuangkan kopi ke gelas B sehingga gelas A berisi susu, gelas B Langkah terakhir adalah menuangkan kopi ke gelas B sehingga gelas A berisi susu, gelas B berisi
berisi kopi kopi dan dan gelas gelas C C kosong kosong kembali. kembali. Hasil akHasil akhir sesuai hir sesuai dengan dengan yang yang kita kita harapkan.harapkan. La
Lalu lu apaapakakah h mamasalsalah ah seselelesai sai hahanynya a dedengangan n memenggnggunaunakan kan sasatu tu gegelalas s tatambmbahaahann sebagai penyimpan sementara? Ternyata tidak. Misal kita ubah urutan kedua dan ketiga sebagai penyimpan sementara? Ternyata tidak. Misal kita ubah urutan kedua dan ketiga pada
pada algoritma algoritma di di atas.atas. 1.
1. TuTuanangkgkan an iisi si gegellasas AA ke ke gegellas as CC 2.
2. TuTuangangkan kan isi isi gelgelas as C C ke ke gelgelas as BB 3.
3. TuTuangangkan kan isi isi gelgelas as B B ke ke gelgelas as AA Pada algori
Pada algoritma ini, terjadi hal tma ini, terjadi hal yang hampir sama dengan yang hampir sama dengan algorialgoritma pertama kita. Padatma pertama kita. Pada langkah pertama, sudah benar kita menuang kopi ke gelas kosong. Tapi pada langkah langkah pertama, sudah benar kita menuang kopi ke gelas kosong. Tapi pada langkah
kedua, kita menuang kembali kopi tadi, gelas C, ke gelas B yang masih berisi susu. kedua, kita menuang kembali kopi tadi, gelas C, ke gelas B yang masih berisi susu. Sehingga gelas A kosong, gelas B kopi susu dan gelas C kosong. Pada langkah terakhir, Sehingga gelas A kosong, gelas B kopi susu dan gelas C kosong. Pada langkah terakhir, kita memindahkan kopi susu pada gelas B ke gelas A, sehingga gelas B dan C menjadi kita memindahkan kopi susu pada gelas B ke gelas A, sehingga gelas B dan C menjadi kosong.
kosong.
Dari ketiga algoritm
Dari ketiga algoritma a di atas, di atas, ternternyata yata untuk menyeluntuk menyelesaikan suatu masalah, menukar esaikan suatu masalah, menukar isiisi gelas
gelas, , selselain ain diperldiperlukan ukan cara yang cara yang tepat, ternytepat, ternyata ata urutan dari langkah-lanurutan dari langkah-langkahnyapun harusgkahnyapun harus benar.
benar. Hal Hal yang yang sama sama berlaku berlaku pada pada algoritma algoritma suatu suatu program program yang yang memerlukan memerlukan cara cara yangyang tepat serta urutan langkah atau runtunan yang benar untuk mendapatan output atau hasil tepat serta urutan langkah atau runtunan yang benar untuk mendapatan output atau hasil yang
yang diharapkdiharapkan.an.
Suatu permasalahan serupa pada algoritma suatu pemrograman adalah ketika kita ingin Suatu permasalahan serupa pada algoritma suatu pemrograman adalah ketika kita ingin menukar isi dari dua buah variabel, seperti kode berikut:
menukar isi dari dua buah variabel, seperti kode berikut:
Gambar 3. 1. Source Code tukar nilai Gambar 3. 1. Source Code tukar nilai
Maka yang
Maka yang kita perlukan adalah sebuah kita perlukan adalah sebuah varivariabel abel pembantu untuk menyimpembantu untuk menyimpan pan sementarsementaraa data dari
data dari variavariabel bel tersetersebutbut
Gambar 3. 2. Source Code variable pembantu Gambar 3. 2. Source Code variable pembantu
Jika kita cetak isi dari semua variabel pada tahap inisialisasi, maka akan di dapatkan hasil Jika kita cetak isi dari semua variabel pada tahap inisialisasi, maka akan di dapatkan hasil sebagai berikut
Gambar 3. 3. Inisialisasi Gambar 3. 3. Inisialisasi
Langkah pertama dalam melakukan pertukaran ini adalah dengan memindahkan nilai dari Langkah pertama dalam melakukan pertukaran ini adalah dengan memindahkan nilai dari variabel x ke variabel z.
variabel x ke variabel z.
Gambar 3. 4. Pindah nilai Gambar 3. 4. Pindah nilai
Isi dari masing-masing variabel setelah proses ini adalah sebagai berikut Isi dari masing-masing variabel setelah proses ini adalah sebagai berikut
Gambar 3. 5. Pertukaran variabel Gambar 3. 5. Pertukaran variabel
Langkah berikutn
Langkah berikutnya adalah memindahkan nilai dari variabel y ya adalah memindahkan nilai dari variabel y ke variabel xke variabel x
Gambar 3. 6. Pindah nilai dalam variabel Gambar 3. 6. Pindah nilai dalam variabel
Sehingga masing-masing variabel akan bernilai Sehingga masing-masing variabel akan bernilai
Gambar 3. 7. Hasil Tukar nilai Gambar 3. 7. Hasil Tukar nilai Langkah terakhi
Gambar 3. 8. Pindah Variabel Gambar 3. 8. Pindah Variabel
sehingga hasil dari langkah ini merupakan solusi dari permasalahan awal, yaitu sehingga hasil dari langkah ini merupakan solusi dari permasalahan awal, yaitu
Gambar 3. 9. Tukar nilai Gambar 3. 9. Tukar nilai Berikut seluruh kode dan output dari persoalan di atas Berikut seluruh kode dan output dari persoalan di atas
Gambar 3. 10. Source Code Tukar Nilai Gambar 3. 10. Source Code Tukar Nilai
Gambar 3. 11. Source Code Tukar Nilai(lanjt) Gambar 3. 11. Source Code Tukar Nilai(lanjt)
Gambar 3. 12. Proses Pertukaran Gambar 3. 12. Proses Pertukaran
b.
b. CoContrntrol ol stastatemtementent Con
Controtrol l ststatatememenent t atatau au lelebibih h didikenkenal al dendengagan n sesebubutan tan pepercarcababangangan n dadapapat t memenjnjadiadikankan program
program menjadi menjadi fleksibel. fleksibel. Dengan Dengan control control statement statement kita kita bisa bisa mendefinisikan mendefinisikan barisbaris program
program yang yang akan akan dieksekusi dieksekusi apabila apabila suatu suatu kondisi kondisi terpenuhi, terpenuhi, dan dan tidak tidak dieksekusidieksekusi apab
apabilila a konkondidisi si titidak dak terterpenpenuhiuhi. . DalDalam am C++ C++ concontrol statemtrol statement ent ada ada dua dua jenjenis. is. PertPertamaama,, memakai if...el
memakai if...else dan se dan yang kedua yang kedua memmemakai akai swiswitch tch case.case. If ... Else
If ... Else
Bentuk umum dari
Bentuk umum dari statemstatement if ent if adaladalahah if
if (kon(kondisdisi)i) { { statement1; statement1; statement2; statement2; .... .... statementN; statementN; } } atau : atau : if
if (kon(kondisdisi)i) { { statement1; statement1; statement2; statement2; .... .... statementN; statementN; } } els
else e if if (ko(kondisndisi)i) { { statement1; statement1; statement2; statement2; .... .... statementN; statementN; } } ... ... else else { { statement1; statement1; statement2; statement2; .... .... statementN; statementN; } }
Tingkatan if...else disesuaikan dengan kebutuhan. Tingkatan if...else disesuaikan dengan kebutuhan.
Kondisi yang harus dipenuhi dapat berbentuk ekspresi dengan operator logika dan operator Kondisi yang harus dipenuhi dapat berbentuk ekspresi dengan operator logika dan operator relasi.
relasi.
Operator logi
Operator logika ka yang bisa digunakan antara lain :yang bisa digunakan antara lain : Simbol
Simbol Arti Arti
&
&& & AANNDD
|||| OORR
!
! NNOOTT
Sedangkan operator relasi antara lain : Sedangkan operator relasi antara lain :
Simbol
Simbol Arti Arti
=
== = ssaamma a ddeennggaann >
>= = lleebbiih h ddaarri i ssaamma a ddeennggaann >
> lleebbiih h ddaarrii <
<= = kkuurraanng g ddaarri i ssaamma a ddeennggaann <
< kkuurraanng g ddaarrii
!!= = ttiiddaak k ssaamma a ddeennggaann Contoh program