SlideShare a Scribd company logo
Modul
Praktikum Algoritma dan Pemrograman
Disusun Oleh :
Wahyu Widodo
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
EL RAHMA YOGYAKARTA
Algoritma Pemrograman Page 1
Daftar Isi
BAB I .......................................................................................................3
PENGANTAR ALGORITMA DAN PEMROGRAMAN ...........................3
1.1. Meningkatkan Kemampuan Berpikir Secara Logis .....................4
1.2. Mengembangkan Cara Berpikir Dengan Sistematis ...................5
1.3. Melatih Teliti Terhadap Detail ......................................................6
1.4. Meningkatkan Kemampuan dalam Mengatasi Masalah .............7
BAB 2 ......................................................................................................8
FLOWCHAT DAN PSEUDO CODE.......................................................8
2.1 Flowchart.......................................................................................9
2.2. Contoh Flowchart Algoritma.......................................................11
2.3. Pseudocode................................................................................12
BAB 3 ....................................................................................................16
TIPE DATA............................................................................................16
3.1. Daftar Lengkap Tipe data C++ ............................................18
3.2. Contoh Implementasi Tipe Data ................................................19
3.2. Fungsi dan Cara penggunaan macam-macam dasar Tipe Data
20
BAB 4 ....................................................................................................25
PENCABANGAN ..................................................................................25
4.1. Bentuk Pernyataan IF.................................................................27
4.2. Nested IF.....................................................................................29
BAB 5 ....................................................................................................32
PERULANGAN .....................................................................................32
Algoritma Pemrograman Page 2
5.1. Pernyataan FOR.........................................................................33
5.2. Nested FOR ................................................................................37
5.3. Pernyataan Do..While.................................................................37
BAB 6 ....................................................................................................41
ARRAY..................................................................................................41
5.1. Pengertian Array.........................................................................42
5.2. Inisialisasi Array..........................................................................44
5.1. Array Multidimensi ......................................................................50
BAB 7 ....................................................................................................56
PEMROGRAMAN MODULAR .............................................................56
7.1. Pemrogaman Modular................................................................57
7.2. Pengertian Fungsi.......................................................................58
Fungsi dari Return............................................................................61
Function tidak mengembalikan nilai ............................................61
Function yang mengembalikan nilai ............................................62
Apa arti dari return 0; pada function utama int main () ? .....65
BAB 8 ....................................................................................................67
PENGURUTAN.....................................................................................67
8.1. Bubble Sort / Pengurutan Gelembung.......................................68
8.2. Selection Sort/Pengurutan Maksimum-minimum ......................70
8.3. Insertion Sort/Pengurutan Sisip .................................................71
Algoritma Pemrograman Page 3
BAB I
PENGANTAR ALGORITMA DAN PEMROGRAMAN
Target Pencapaian :
Mahasiswa Memahami
Pentingnya Menguasai
Algoritma Pemrograman
Algoritma Pemrograman Page 4
Manfaat Menguasai Algoritma dan Pemrograman
Bagi developer, computer scientist, atau programmer tentu sudah tahu
manfaat belajar bahasa pemrograman, tidak perlu dijelaskan lagi. Belajar
bahasa pemrograman bagi mereka akan sangat bermanfaat untuk bidang
pekerjaan yang dimilikinya, apalagi bagi mereka yang sedang
mengerjakan proyek-proyek baru yang sama sekali belum pernah
disentuhnya.
Akan tetapi, bagaimana manfaat belajar bahasa pemrograman bagi orang
awam atau orang yang sedang belajar? Tentu tak hanya sebatas
meningkatkan kemampuan melakukan pemrograman yang akan di
dapatkan, tetapi berbagai hal terkait dengan hal tersebut.
Selain iming-iming intensif yang besar, belajar pemrograman memiliki
beberapa manfaat yang dapat kita rasakan. Manfaat ini tidak secara
langsung dapat kita rasakan, tetapi dengan proses belajar yang tepat,
manfaat ini akan kita rasakan jauh setelah proses tersebut terlewati.
Belajar bahasa pemrograman merupakan sebuah pembiasan.
Pembiasaan dalam menuliskan baris-baris kode yang benar, pembiasaan
dalam menggunakan penalaran yang tepat, dan pembiasaan dalam
menggunakan perumusan yang sesuai. Proses-proses tersebut juga akan
memberikan keuntungan tersendiri bagi orang-orang yang mempelajari
bahasa pemrograman.
Beberapa manfaat belajar bahasa pemrograman di antaranya adalah
sebagai berikut ini :
1.1. Meningkatkan Kemampuan Berpikir Secara Logis
Untuk membuat sebuah produk dengan bahasa pemrograman, termasuk
di dalamnya aplikasi, game, perangkat mikrokontroler, atau perangkat
IoT, kita tidak akan bisa lepas dari logika-logika pemrograman yang akan
Algoritma Pemrograman Page 5
digunakan untuk membuat produk tersebut agar produk tersebut bekerja
sesuai dengan yang diharapkan. Logika dan algoritma pemrograman
menjadi suatu hal yang sangat penting dalam membuat atau
mengembangkan sebuah produk.
Kesalahan logika yang digunakan, tentu akan berakibat fatal terhadap
produk yang akan dikembangkan. Selain eror, tentu produk yang
dikembangkan tidak akan sesuai dengan apa yang kita inginkan.
Oleh karena itu, belajar logika pemrograman merupakan hal yang wajib,
agar produk yang dikembangkan tidak mengalami permasalahan dalam
pengembangannya. Logika pemrograman menjadi bagian penting yang
harus dipelajari oleh orang yang belajar bahasa pemrograman, tanpa
melihat pilihan bahasa yang dipelajarinya.
Setelah memilih bahasa yang tepat, semua orang yang berkecimpung
dalam mempelajari bahasa pemrograman harus mempelajari logika
perograman. Bersamaan dengan ini, tentu kita akan menjadi terlatih untuk
berfikir dengan menggunakan logika saat menghadapi permasalaan.
Seperti yang disebutkan sebelumnya, belajar pemrograman merupakan
sebuah pembiasaan. Ketika pikiran kita dibiasakan untuk menggunakan
logika, tanpa disengaja kita akan terbiasa untuk menggunakannya dalam
kehidupan sehari-hari juga.
Tanpa sadar kita akan mendapatkan kemampuan berpikir secara logis
sebagai salah satu manfaat belajar bahasa pemrograman. Kita akan
terlatih untuk mempertimbangkan berbagai hal untuk mengatasi
berbagaimacam permasalahan yang ada.
1.2. Mengembangkan Cara Berpikir Dengan Sistematis
Selain dapat mempertimbangkan dengan tepat bagaimana kita akan
menyelesaikan sebuah permasalahan, manfaat belajar bahasa
Algoritma Pemrograman Page 6
pemrograman yang lainnya adalah dapat mengembangkan cara berfikir
sistematis.
Dalam membuat sebuah program, seseorang akan dihadapkan pada
baris-baris kode yang harus disusun secara sistematis. Baris-baris kode
ini tidak boleh terbolak-balik baik penyusunannya maupun penulisannya,
agar program yang dibangun dapat berjalan tanpa permasalahan.
Sistematika ini berlaku untuk berbagai macam jenis bahasa pemrograman
yang ada sejak dulu sampai sekarang.
Hal ini menyebabkan seorang calon pembuat program harus mempelajari
bagaimana menuliskan kode dengan aturan dan sistematika yang
sebenarnya. Belajar membuat kode yang sistematis menjadi salah satu
bagian yang harus dipelajari saat belajar bahasa pemrograman.
Sebagai dampak positifnya, kita tentu akan semakin terbiasa dengan cara
berpikir sistematis. Cara berpikir ini akan terbawa ke kehidupan sehari-
hari, terutama dalam menghadapi berbagai macam permasalahan yang
sedang menghimpit.
1.3. Melatih Teliti Terhadap Detail
Dalam membangun sebuah program, sering kali seorang developer akan
mengalami sebuah permasalahan, salah satunya adalah program yang
dibangun eror saat diverifikasi atau di-build. Permasalahan ini akan
memerlukan sedikit ketelitian untuk mengatasinya.
Seorang developer harus mengecek ulang kode, dan mencari bagian
kode yang menyebabkan terjadinya permasalahan. Jika hal tersebut
belum menyelesaikan masalah, developer masih harus mengecek
berbagai hal yang berkaitan dengan program yang dibangun tersebut,
seperti mengecek power yang digunakan jika dalam membuat program
Algoritma Pemrograman Page 7
untuk perangkat keras, atau mengecek koneksi internet jika tools yang
digunakan berjalan secara online.
Apalagi bagi pemula atau orang yang sedang belajar, permasalahan ini
tentu akan menjadi bagian dari aktivitas membuat sebuah program.
Karena belum terbiasa menulis atau membuat kode, kesalahan-kesalahan
menuliskan baris-baris kode akan menjadi rutinitas.
Akan tetapi, dengan terbiasa mencari kesalahan dalam menuliskan kode
saat belajar, kita akan menjadi terbiasa dan lebih teliti dalam menuliskan
kode dalam membuat sebuah program. Hal ini tentu akan berimbas ke
dalam aktivitas kita sehari-hari sebagai salah satu manfaat belajar bahasa
pemrograman.
1.4. Meningkatkan Kemampuan dalam Mengatasi Masalah
Dengan mempelajari bahasa pemrograman, kita akan dilatih untuk
menyelesaikan sebuah permasalahan, baik itu tentang bagaimana produk
harus bekerja maupun bagaimana mengatasi kesalahan-kesalahan yang
terjadi.
secara tidak sadar, kita juga akan membawa hal ini ke dalam kehidupan
sehari-hari untuk menghadapi berbagai macam permasalahan yang
terjadi. Kita secara tidak sadar akan berpikir secara logis dan sistematis,
seperti yang dijelaskan sebelumnya.
Belajar bahasa pemrograman akan memberikan dapampat positif bagi
kita. Bahkan perusahaan raksasa teknologi Google pun percaya, dengan
belajar program, kita tak hanya akan memperoleh kemampuan dalam
melakukan pemrograman, tetapi juga mengembangkan pikiran yang dapat
digunakan untuk menyelesaikan berbagai macam permasalahan.
Kemampuan untuk memecahkan permasalahan ini akan menjadi salah
satu manfaat belajar bahasa pemrograman.
Algoritma Pemrograman Page 8
BAB 2
FLOWCHAT DAN PSEUDO CODE
Target Pencapaian :
Mahasiswa Memahami
Teknik Pengambilan
Keputusan, Perulangan
Proses, Pseudo Code, dan
Struktur Algoritma
Algoritma Pemrograman Page 9
Pemrograman merupakan sebuah hal yang sangat rumit namun tidak
akan rumit jika sudah memahami dasarnya. Didalam dunia
pemrograman , programmer harus tahu dan bisa membuat rancangan
program yang akan di buat agar program yang akan dibuat tersebut bisa
berjalan dengan baik. Perlu disadari bahwa sebagai calon programmer
kita juga harus belajar dari dasar yaitu dengan mengenal Pseudocode
dan Flowchart.
2.1 Flowchart
Untuk menggambarkan alur logika dalam komputasi digunakan standar
dasar pemodelan yaitu menggunakan flowchart. Flowchart menunjukkan
aliran proses dari awal sampai penyelesaian komputasi. Dalam standar
yang lebih kompleks flowchart juga dapat dimodelkan dalam Unified
Modelling Language (UML) yaitu menggunakan diagram activity. Dimana
diagram activy adalah flowchart yang melibatkan berbagai interaksi
pengguna ataupun domain sistem.
Simbol Proses lojik
Algoritma Pemrograman Page 10
Simbol Koneksi
Algoritma Pemrograman Page 11
Simbol input output
2.2. Contoh Flowchart Algoritma
Untuk menunjukkan proses algoritma pemrograman sehingga mudah
untuk dimengerti dapat menggunakan standar flowchart.
Algoritma Pemrograman Page 12
2.3. Pseudocode
Pseudocode adalah metode penulisan bahasa inggris sederhana yang
merepresentasikan lojik algoritma pemrograman. Pseudo berarti tiruan,
sedangkan Code adalah kode program sehingga pseudocode bisa disebut
sebagai kode tiruan dari program sebenarnya yang dituliskan dalam
standar bahasa inggris untuk mendekatkan dengan perintah-perintah yang
terdapat pada bahasa pemrograman.
Pada dasarnya struktur pseudocode hanya dibagi atas 6 perintah yaitu :
1. Sequence, memiliki cakupan perintah yang luas untuk perintah
eksekusi proses,contoh diantara kata kunci yang sering digunakan
 Input:READ,OBTAIN,GET Contoh: READ height; READ
Weights; OBTAIN range; GET radius.
 Output: PRINT, DISPLAY, SHOW
 Perhitungan: COMPUTE, CALCULATE, DETERMINE
 Inisialisasi: SET, INIT
 Counter: INCREMENT, DECREMENT, DELAY
2. While, digunakan untuk menyatakan perulangan dengan pengujian
kondisi diawal (*lebih sesuai untuk perulangan tanpa batas yang
tetap) Contoh:

3. If-Then-Else, digunakan untuk menyatakan persyaratan lojik
kebenaran atau disebut BOOLEAN.
Algoritma Pemrograman Page 13

4. Repeat-Until, digunakan untuk menyatakan perulangan dengan
pengujian kondisi akhir.

5. For, digunakan untuk menyatakan perulangan dengan batasan
range sejumlah angka tertentu.

6. Case, digunakan untuk pilihan kondisi tertentu,

Aturan dasar Penulisan pseudocode:
1. Lebih mudah gunakan huruf kapital untuk menyatakan fungsi atau
prosedur.
2. Gunakan huruh kecil untuk penulisan variable
Algoritma Pemrograman Page 14
Contoh pseudocode Memasak mi Goreng
Contoh lain :
Algoritma Pemrograman Page 15
Dari uraian dan penjelasan diatas, bisa disimpulkan bahwa flowchart dan
pseudocode sangat dibutuhkan dalam langkah-langkah pembuatan
program. Dengan flowchart dan pseudocode, kita bisa lebih mudah untuk
pembuatan program yang dirancang atau diinginkan.
Algoritma Pemrograman Page 16
BAB 3
TIPE DATA
Target Pencapaian :
Mahasiswa Memahami
jenis-jenis tipe data
Algoritma Pemrograman Page 17
Tipe Data
Tipe data adalah klasifikasi variabel untuk menentukan bentuk keadaan
data yang akan disimpan dalam memori dan jenis operasi apa yang dapat
dilakukan oleh variabel tersebut. variabel memiliki 3 jenis tipe data yaitu
Variabel Numerik, Variabel Text dan Boolean.
Variabel Numerik : Memungkinkan kita untuk menyimpan data dalam
bentuk bilangan. Variabel numerik dapat dibagi menjadi beberapa bagian
yaitu : Bilangan Bulat (Integer “int”), Bilangan Desimal Berpresisi Tunggal
(Floating Point “float”). Bilangan Desimal Berpresisi Ganda (Double
Precision “double”).
Variabel Text : memungkinkan kita untuk menyimpan data dalam bentuk
Karakter. Bahasa Pemrograman C++ menyediakan beberapa tipe data
dasar seperti Char (Character / Karakter Tunggal) dan String (Kumpulan
Katakter dan Kata).
Boolean : pada Bahasa Pemrograman C++ ditulis dengan menulisan
“bool” merupakan jenis yang hanya dapat mewakili satu dari dua pilihan
yaitu 1 (True) atau 0 (False).
Tipe data yang umum digunakan :
Tipe Data Bentuk Penulisan
Boolean bool
Character char
Integer int
Floating Point float
Double Floating Point double
String string
Valueless void
Dari tipe data di atas bisa kita modifikasi menggunakan Modifiers Type
untuk memberikan fungsi lebih kepada Variabel.
Algoritma Pemrograman Page 18
Modifiers Type Fungsi
signed Untuk membuat Tipe Data Numerik menjadi Negatif
unsigned Untuk membuat Tipe Data Numerik menjadi Positif
short Pemesanan Jarak dan Ukuran memori lebih Kecil
long Pemesanan Jarak dan Ukuran memori lebih Besar
Setiap tipe data memiliki besar memori yang berbeda dengan yang lain.
Ketika kita sedang membuat variabel, kita sebenarnya sedang memesan
memori untuk penyimpanan kepada komputer sebesar tipe data yang
digunakan. Di bawah ini adalah tabel keterangan detail mengenai masing-
masing Tipe Data termasuk Tipe Data yang menggunakan Tipe
Modifikasi. keterangan cara penulisan dan mengenai seberapa besar
memori yang akan digunakan untuk penyimpanan.
3.1. Daftar Lengkap Tipe data C++
Tipe Data Bentuk Penulisan Ukuran Memori
Integer int 4 byte = 32 bit
signed int 4 byte = 32 bit
signed short int 2 byte = 16 bit
signed long int 4 byte = 32 bit
signed long long int 4 byte = 32 bit
unsigned int 4 byte = 32 bit
unsigned short int 2 byte = 16 bit
unsigned long int 4 byte = 32 bit
unsigned long long int 4 byte = 32 bit
Floating Point float 4 byte = 32 bit
Double Floating Point double 8 byte = 64 bit
long double 12 byte = 96 bit
Boolean bool 1 byte = 8 bit
Character char 1 byte = 8 bit
(C++ 11) char16_t 2 byte = 16 bit
(C++ 11) char32_t 4 byte = 32 bit
wchar_t 2 byte = 16 bit
unsigned char 1 byte = 8 bit
signed char 1 byte = 8 bit
String string 4 byte = 32 bit
Pointer Null (C++ 11) decltype(nullptr) 4 byte = 32 bit
Valueless void 1 byte = 8 bit
Algoritma Pemrograman Page 19
Tetapi Untuk ukuran memori mungkin bisa bebeda-beda pada setiap
komputer yang anda gunakan. Untuk melihat pasti ukuran memori setiap
tipe data pada komputer anda, Anda sbisa menggunakan fungsi “sizeof()”
untuk memeriksanya besar memori.
Fungsi “sizeof()” biasanya digunakan untuk mengetahui besar memori dari
tipe data, variabel, object dan semua deklarasi yang dapat memakan
memori pada komputer.
3.2. Contoh Implementasi Tipe Data
Tulis kode berikut ini :
Algoritma Pemrograman Page 20
3.2. Fungsi dan Cara penggunaan macam-macam dasar Tipe Data
Boolean (bool)
Boolean adalah salah satu tipe data yang hanya memiliki dua pilihan yaitu
True (1) atau False (0). Tipe data ini biasanya digunakan untuk
memberikan kepastian dan memastikan kebenaran dari sebuah operasi
atau kondisi program.
Bentuk Penulisan :
bool daftar_variabel = inisialisasi;
Contoh Deklarasi :
bool pilihan=0; // Contoh mendirikan variable Boolean dengan
inisialisasi 0 = false.
Contoh Program :
Character (char)
Char Adalah salah satu tipe data sembarang huruf, angka, dan simbol.
Yang memungkinkan kita untuk memesan memori berformat text dengan
karakter tunggal seperti „a‟, „$‟ dan lain-lain.
Bentuk Penulisan :
char nama_variabel[array] = inisialisasi ;
Algoritma Pemrograman Page 21
untuk array di dalam sepasang tanda “[“ dan “]”, anda dapat tidak untuk
menggunakanya. Tipe data char hanya dapat menyimpan data berbentuk
karakter dan hanya satu karakter. Bagian [array] digunakan untuk
menentukan deret jumlah memori yang akan kita pesan, yang akan
memungkinkan kita dapat menyimpan data dalam bentuk rangkaian huruf
atau rangkaian kata (lebih dari satu karakter), satu karakter biasanya akan
menempati satu memori yang kita pesan dan dalam peraturan pemesanan
variabel char berderet harus mempunyai satu memori tambahan dari
jumlah karakter. Hal ini akan penulis jelaskan lebih dalam di artikel
selanjutnya.
Contoh Program :
Integer (int)
Integer adalah salah satu tipe data numerik yang memungkinakn kita
untuk menyimpan data dalam bentuk bilangan bulat.
Bentuk penulisan :
int daftar_variabel = inisialisasi;
Contoh Deklarasi :
int bilangan = 10;
Algoritma Pemrograman Page 22
Contoh Program :
Float Point (float)
Float adalah salah satu tipe data Numerik yang memungkinkan untuk
menyimpan nilai dalam memori bersifat bilangan pecahan atau real,
maupun eksponensial.
Bentuk Penulisan
float daftar_variabel = inisialisasi:
Contoh Deklarasi
float p=3,14:
Algoritma Pemrograman Page 23
Double Floating Point (double)
Double sama seperti float adalah salah satu tipe data yang bersifat
menyatakan bilangan pecahan atau real, maupun eksponensial. Bedanya
adalah penyimpanan angka masimal lebih besar daripada float otomatis
double juga akan membutuhkan memori yang lebih besar.
Bentuk penulisan
double daftar_variabel = inisialisasi;
Contoh deklarasi
double angka = 3.14;
Contoh Program :
String (string)
Merupakan tipe data Text yang memungkinkan kita menyimpan nilai
dengan bentuk text, kumpulan dari character. Berbeda dengan char array,
Tipe data string kita tidak perlu untuk menentukan jumlah digit pada saat
deklarasi variabel.
Bentuk penulisan
string daftar_variabel = inisialisasi;
Bentuk penulisan
string kalimat = ”Selamat Belajar C++” ;
Algoritma Pemrograman Page 24
Contoh Program :
Valueless (void)
Void adalah salah satu tipe data yang berarti “tidak ada” atau “tidak
mempunyai tipe data”. Void masih di dalam katagori tipe data tetapi kita
tidak bisa menggunakanya pada variabel biasa, void biasanya digunakan
pada function yang tidak mempunyai return value “void myFunction()”,
pada function parameter yang tidak mempunyai parameter “void
myfunction(void)” dan pada pointer “void *myPointer;”.
Algoritma Pemrograman Page 25
BAB 4
PENCABANGAN
Target Pencapaian :
Mahasiswa Memahami
Bentuk Pencabangan,
Terapan Bentuk If, Bentuk
Umum Case
Algoritma Pemrograman Page 26
Pernyataan IF adalah salah satu pernyataan penyeleksian yang
memungkain kita memanipulasi aliran jalanya program berdasarkan
conditional expression. Hal ini dapat memungknkan kita membuat
program yang berjalan secara fleksibel sesuai keinginan dari pengguna.
Penyeleksian if adalah pernyataan penyeleksian yang mencari kebenaran
dari conditional expression yang disebutkan. Dengan arti lain conditional
expression harus berupa bilangan Boolean atau operasi yang
menghasilkan bilangan Boolean.
Ketika mesin eksekusi bertemu dengan penyeleksian if maka CPU akan
memeriksa kebenaran dari conditional expression yang tercantum, jika 1
(true) maka perintah yang ada dibawahnya akan dijalankan, jika 0 (false)
maka akan memeriksa pernyataan else if (jika ada), hal itu dilakukan
berulang satu demi satu hingga menemukan kondisi yang bernilai 1 (true).
Jika tidak ditemukan maka akan melakukan perintah pernyataan else. Jika
else tidak ada maka pernyataan if secara keseluruhan akan diabaikan.
If(Kondisi){
Pernyataan;
}else if(Kondisi){
Pernyataan;
}else{
Pernyataan;
}
Secara keutuhan penyataan penyeleksian if memiliki bentuk struktur
seperti di atas. Dan juga ada bagian yang termasuk sebagai tambahan
(anda bebas untuk menyertakan atau tidak) yaitu else if dan else. setiap
bentuk dari pernyataan if memiliki nama sendiri-sendiri.
Algoritma Pemrograman Page 27
4.1. Bentuk Pernyataan IF
If(Kondisi){
Pernyataan;
}
Bentuk Pernataan IF-ELSE
If(Kondisi){
Pernyataan;
}else{
Pernyataan;
}
Bentuk Pernyataan IF-ELSE Majemuk
If(Kondisi){
Pernyataan;
}else if(Kondisi){
Pernyataan;
}else{
Pernyataan;
}
jika pernyataan merupakan pernyataan tunggal sebagai perintah
pernyataan if kita tidak diwajibkan menggunakan sepasang tanda kurung
kurawal.
If(Kondisi)
Pernyataan;
else if(Kondisi)
Pernyataan;
else
Pernyataan;
Hal itu dapat dilakukan, compiler akan menganggap bahwa apapun
pernyataan, satu pernyataan setelah pernyataan if / else if / else akan
dianggap sebagai substatement atau badan dari pernyataan tersebut.
Kondisi setelah keyword if atau else if adalah tempat dimana anda
menaruh sebuah ekspresi seperti perbandingan, logika dan lain-lain yang
Algoritma Pemrograman Page 28
menghasilkan bilangan Boolean. Hal itu karena pernyataan if hanya
bekerja berdsarkan bilangan Boolean.
Jika evaluasi ekspresi bernilai 1 (benar) sesuai kondisi maka program
akan melaksanakan perintah(pernyataan) di bawahnya. Jika tidak maka
akan diabaikan dan beralih ke pilihan lain atau keluar dari pernyataan
penyeleksian IF.
Else if adalah pilihan alternative dari penyeleksian untuk mencari kondisi
yang diinginkan, else if sama seperti pernyataan if hanya berbeda pada
penempatanya, setiap pilihan alternative menggunakan kata kunci else if
setelah pernyataan IF pertama.
Else adalah pilihan terakhir yang akan dijalankan jika semua pilihan tidak
sesuai dengan kondisi yang ada. Else merupakan pernyataan opsional
untuk digunakan berdsarkan kebutuhan, jika tidak menggunakan
pernyataan else maka pernyataan if tersebut akan diabaikan.
Contoh Program :
#include <iostream>
using namespace std ;
int main() {
int nomer ;
cout<<" Masukkan [1/2/3] : ";cin>>nomer;
if (nomer<=0){
cout<<"kurang dari 1"<<endl;
}else if(nomer==1){
cout<<"1"<<endl;
}else if(nomer==2){
cout<<"2"<<endl;
}else if(nomer==3){
cout<<"3"<<endl;
}else{
cout<<"lebih dari 3"<<endl;
}
return 0 ;
}
Cara kerja CPU dalam melaksanakan pernyataan if adalah, pertama CPU
masuk dan mengevaluasi ekspresi yang tertera pada pernyataan if, jika
bernilai 1 (true) maka pernyataan-pernyataan di bawah pernyataan if akan
Algoritma Pemrograman Page 29
dijalankan, setelah dijalankan maka CPU akan keluar dari keseluruhan
pernyataan if. jika 0 (false) dan disertakan pernyataan else if maka CPU
akan mengevaluasi ekspresi pada else if, jika 1 (true) akan dijalankan jika
0 (false) akan beralih ke-lainnya, hal itu terjadi berulang-ulang. jika dari
semua pilihan tersebut tidak ada yang 1 (true) maka pernyataan secara
keseluruhan if akan diabaikan atau menjalankan pernyataan else jika
disertakan.
Pembacaan Program, CPU akan mengalir dari atas kebawah, jika telah
menemukan kondisi yang 1 (true) maka akan dijalankan dan keluar dari
keseluruhan pernyataan if, tidak peduli jika ada pilihan alternative lainnya
yang memiliki kondisi yang juga 1 (true).
4.2. Nested IF
Merupakan hal yang dimungkinkan dalam bahasa pemrograman C++
yaitu membuat pernyataan IF di dalam pernyataan IF. hal ini dapat
memungkinkan anda untuk membuat tahapan penyeleksian.
Contoh Penulisan
if(kondisi){
if(kondisi){
pernyataan;
}else if{
pernyataan;
}else{
pernyataan;
}
}else if (kondisi){
if(kondisi){
pernyataan;
}else if{
pernyataan;
}else{
pernyataan;
}
}else{
if(kondisi){
pernyataan;
}else if{
Algoritma Pemrograman Page 30
pernyataan;
}else{
pernyataan;
}
}
Contoh Kasus :
Suatu perusahaan menjual pakaian dengan ketentuan sebagai berikut:
 Jika kode buku =1 maka judulBuku = belajarcpp.com, dengan kode
Diskon = „S‟, maka harganya 45000, Jika kode Diskon bukan s
maka harganya 50000.
 Jika kode buku = 2 maka judulBuku = belajarcpp.com, dengan code
Diskon= „S‟, maka harganya 65000, Jika code Diskon bukan s
maka harganya 70000.
 Jika user memasukan kode Selain kode Buku diatas, maka akan
mencetak “salah memasukan kode”.
Penyelesaian :
#include <iostream>
#include <string.h>
using namespace std;
int main( ){
char kode,kodeDiskon,namaBuku[30];
long harga=0;
cout<<"Kode Buku : ";cin>>kode;
cout<<"Kode Diskon : ";cin>>kodeDiskon;
if (kode == '1') {
strcpy(namaBuku,"Belajarcpp.com");
if (kodeDiskon=='S' || kodeDiskon =='s'){
harga=45000;
} else {
harga = 50000;
}
} else if (kode=='2') {
strcpy(namaBuku,"Belajar C++");
Algoritma Pemrograman Page 31
if (kodeDiskon=='S' || kodeDiskon=='s'){
harga=65000;
} else {
harga = 70000;
}
} else {
cout<<"Salah Kode Buku"<<endl;
}
cout<<"----------------------"<<endl;
cout<<"Judul Buku : "<<namaBuku<<endl;
cout<<"Harga Buku : "<<harga<<endl;
return 0;
}
Algoritma Pemrograman Page 32
BAB 5
PERULANGAN
Target Pencapaian :
Mahasiswa Memahami
Konsep Perulangan, Jenis
Perulangan, Perulangan
Bersarang
Algoritma Pemrograman Page 33
5.1. Pernyataan FOR
Pernyataan pengulangan FOR adalah pernyataan yang dapat
memanipulasi aliran pengeksekusian CPU dan memungkinkan kita untuk
membuat program yang berjalan dengan dinamis berdsarkan keinginan
pengguna. Pernyataan pengulangan FOR berfungsi untuk melakukan
pengeksekusian beberapa pernyataan secara berulang-ulang. Dan
merupakan pernyataan pengulangan yang sangat umum dan sering
digunakan oleh para programmer C++.
Secara garis besar pernyataan FOR dan WHILE memiliki fungsi dan kerja
yang mirip tapi. Jika dalam pernyataan WHILE dibutuhkan satu ekspresi
sebagai conditional expression yang bertugas untuk penentu jalanya
pengulangan. Dan hal tersebut adalah perbedaan antara FOR dan
WHILE.
FOR adalah pernyataan pengulangan yang dikhususkan untuk
pengulangan yang secara tepat mengetahui berapa kali pengulangan
akan terjadi.
Bentuk Penulisan :
for (init-statement; condition-expression; end-expression){
Pernyataan;
}
Untuk membuat pernyataan FOR dibutuhkan keyword “for” untuk
memulainya, diikuti dengan 3 ekspresi di dalam tanda kurung. Setiap
ekspresi dipisahkan dengan tanda titik koma ( ; ). Ketiga ekspresi tersebut
digunakan untuk penentu jalanya pengulangan, masing-masing memiliki
peran yang berbeda.
Algoritma Pemrograman Page 34
init-statement umumnya adalah tempat dimana sebuah variabel didirikan
dan diinisialisasi. Karena tempat itu adalah tempat yang akan dievaluasi
satu kali ketika pernyataan FOR dimulai.
condition-expression adalah sebuah ekspresi penentu jalanya
pengulangan, yang merupakan bilangan Boolean atau operasi yang
menghasilkan bilangan Boolean. Jika ekspresi bernilai 1 (true) maka
pengulangan akan terjadi tapi jika bernilai 0 (false) maka pengulangan
akan berhenti atau pengulangan for akan diabaikan.
end-expression adalah tempat dimana sebuah operasi penaikan atau
penurunan dari variabel pada init-statement. Setelah pernyataan di badan
pengulangan for dilakukan maka end-expression akan dievaluasi.
Dan di dalan badan pengulangan for terdapat beberapa pernyataan
sebagai perintah atau aksi yang harus dilakukan oleh CPU jika
pengulangan terjadi. Jika terdapat banyak pernyataan maka diwajibkan
untuk mengurungnya dengan sepasang tanda kurung kurawal, jika hanya
terdapat satu pernyataan kita bisa untuk tidak menggunakan sepasang
tanda kurung kurawal.
Contoh program :
#include <iostream>
using namespace std;
int main()
{
for(int i=1;i<=10;i++){
cout<<i<<endl;
}
return 0;
}
Algoritma Pemrograman Page 35
Di atas adalah contoh penggunaan pernyataan for. Program di atas akan
menampilkan keluaran angka 1 sampai 10 secara berurutan.
Ketika CPU bertemu dengan pernyataan for, maka langkah pertama CPU
adalah mengevaluasi init-statement, dan melakukan perintahnya.
Biasanya init-statement digunakan untuk mendeklarasi dan inisialisasi
variabel secara bersamaan atau juga bisa memberi nilai pada variabel
yang sudah ada. Dan pada contoh di atas dilakukan pembuatan variabel
dengan nilai inisialisasi 1. Evaluasi init-statement hanya akan dilakukan
satu kali di awal mulainya pernyataan FOR.
Langkah kedua CPU adalah mengevaluasi nilai dari condition-expression,
biasanya diisi dengan sebuah ekspresi berbentuk bilangan Boolean atau
operasi yang menghasilkan bilangan Boolean. Jika condition-expression
bernilai 0 (false) maka pengulangan tidak akan terjadi (diabaikan), jika
bernilai 1 (true) maka CPU akan mengeksekusi pernyataan pada badan
pernyataan FOR.
Langkah ketiga CPU adalah mengevaluasi end-expression, merupakan
tempat dimana dilakukan penaikan atau penurunan variabel pada init-
statement.
Langkah keempat CPU adalah kembali mengevaluasi condition-
expression. Jika condition-expression bernilai 0 (false) maka pengulangan
akan dihentikan, jika bernilai 1 (true) maka langkah kedua CPU sampai
langkah keempat CPU akan dilakukan berulang kali hingga condition-
expression bernilai 0 (false).
Algoritma Pemrograman Page 36
Contoh program :
#include <iostream>
using namespace std;
int main()
{
int sampai = 0;
cout<<"Lakukan penghitungan sampai : ";cin>>sampai;
for(int i=1;i<=sampai;i++){
cout<<i<<endl;
}
return 0;
}
Menghilangkan Ekspresi
Dalam bahasa pemrograman C++ kita dimungkinkan untuk tidak
menggunakan salah satu ekspresi atau semua ekspresi pada pernyataan
for.
Jika pernyataan FOR tidak menggunakan init-statement maka pernyataan
FOR akan tetap bisa berjalan tanpa melakukan inisialisasi pada awal
sebelum pengulangan.
Jika pernyataan FOR tidak menggunakan condition-expression,
pernyataan for akan melakukan pengulangan tak berhingga, meskipun
condition-expression ditinggalkan kosong maka CPU akan tetap
melakukan pengulangan (dianggap bernilai true).
Jika pernyataan for tidak menggunakan end-expression, Maka pernyataan
for akan tetap berjalan tanpa adanya operasi di antara proses
pengulangan terjadi.
Jika pernyataan FOR tidak menggunakan semua ekspresi maka
pengulangan for akan menjadi pengulangan tak terhingga.
Algoritma Pemrograman Page 37
Contoh program :
#include <iostream>
using namespace std;
int main()
{
int i = 0;
for(;;i++){
cout<<i<<endl;
}
return 0;
}
5.2. Nested FOR
Sebenarnya dalam semua bentuk pernyataan pengulangan atau
penyeleksian kita dimungkinkan untuk membuat sebuah pernyataan di
dalam pernyataan. Dan untuk pernyataan FOR kita dimungkinkan untuk
membuat penyataan FOR di dalam pernyataan FOR.
Contoh Program :
#include <iostream>
using namespace std;
int main()
{
int banyak = 0;
cout<<"Berapa banyak : ";cin>>banyak;
for(int i=1;i<=banyak;i++){
for(int j=1;j<=i;j++){
cout<<j<<" ";
}
cout<<endl;
}
}
5.3. Pernyataan Do..While
Do-while adalah salah satu pernyataan pengulangan yang memungkinkan
kita untuk membuat program yang berjalan secara fleksibel berdsarkan
keinginan pengguna. Do-while berfungsi untuk mengulangi
Algoritma Pemrograman Page 38
pengeksekusian beberapa pernyataan berdsarkan conditional expression
yang ada. Do-while berbeda dengan pernyataan while. Do-while saat
pertama kali akan mengeksekusi pernyataannya terlebih dahulu, setelah
itu baru akan memeriksa conditional expression.
Contoh Penulisan
do{
pernyataan;
…
}while(kondisi);
Di atas adalah penulisan pernyataan pengulangan do-while. Untuk
membuat pernyataan do-while diawali dengan keyword “do” dan setelah
itu diikuti dengan penulisan pernyataan sebagai perintah yang harus
dilakukan oleh CPU. Perintah tersebut dikurung dengan tanda kurung
kurawal, tapi jika perintah atau badan dari pernyataan do-while hanya
mengandung 1 pernyataan kita tidak diwajibkan untuk menggunakan
sepasang tanda kurung kurawal.
setelah semua itu, pada bagian kaki pernyataan do-while terdapat
keyword “while” dan diikuti dengan conditional expression yang dikurung
dalam sepasang tanda kurung. Dan disertakan tanda titik koma ( ; ) pada
akhir pernyataan do-while.
Kondisi merupakan conditional expression adalah tempat dimana kita
menuliskan ekspresi dalam bentuk bilangan Boolean atau operasi yang
menghasilkan bilangan Boolean. Jika conditional expression bernilai 1
(true) maka pengulangan akan terjadi jika 0 (false) maka pengulangan
tidak akan terjadi atau berhenti.
Algoritma Pemrograman Page 39
Aliran pernyataan pengulangan do-while
Di atas adalah gambar bentuk cara kerja CPU dalam pernyataan Do-
while. Pada saat CPU bertemu penyataan pengulangan Do-while. Pada
saat pertama kali CPU memasuki pernyaaan do-while CPU akan langsung
mengeksekusi pernyataan-pernyataan yang berada pada badan dari
pernyataan do-while.
Untuk pengulangan kedua kali dan seterusnya CPU akan memeriksa
conditional expression. Jika conditional expression bernilai 1 (true) maka
akan kembali untuk mengeksekusi pernyataan tersebut, hal itu akan
berlangsung berulang-ulang hingga conditional expression bernilai 0
(false) dan keluar dari pernyataan do-while sepenuhnya.
Perbedaan while dengan do-while terlihat sangat jelas. jika pernyataan
while, untuk dapat mengeksekusi pernyataan di dalam while dibutuhkan
conditional expression bernilai 1 (true). Jika conditional expression bernilai
0 (false), maka pernyataan while secara keseluruhan akan diabaikan.
Berbeda dengan pernyataan do-while, CPU akan melangsanakan
pernyataan pada pernyataan do-while untuk pertama kalinya, meskipun
Algoritma Pemrograman Page 40
conditional expression bernilai 0 (false). Karena cara kerja do-while adalah
mengeksekusi pernyataan pada do-while setelah itu memeriksa nilai pada
conditional expression. Hal itu berarti pernyataan di dalam pernyataan do-
while tidak akan pernah diabaikan.
Contoh Program
#include <iostream>
using namespace std;
int main()
{
int pilihan = 1;
do{
cout<<"Masukan nomer : ";cin>>pilihan;
}while(pilihan<=10);
return 0;
}
Algoritma Pemrograman Page 41
BAB 6
ARRAY
Target Pencapaian :
Mahasiswa Memahami
Tipe Data Array, Array
Multidimensi
Algoritma Pemrograman Page 42
5.1. Pengertian Array
Array atau Larik adalah sebuah variabel yang memiliki serangkaian
elemen dari jenis tipe data yang sama. Elemen-elemen tersebut dirangkai
di dalam memori yang berdekatan dengan elemen lainya. konsep ini mirip
seperti struct dan class yang dapat merupakan kumpulan dari variabel,
perbedaan dengan mereka adalah array merupakan kumpulan variabel
dengan satu indentifier dan satu tipe data yang sama, dan dalam istilah-
istilah array kumpulan dari variabel tersebut adalah elemen.
Bayangkan bahwa jika pembaca sedang bekerja membuat program untuk
suatu organisasi sekolah, tepatnya digunakan untuk mendata nilai-nilai
dari siswa pada suatu kelas, dan dalam satu kelas terdapat 50 anak.
Dengan arti kita membutuhkan 50 tempat penyimpanan (variabel).
double nilai1, nilai2, nilai3 …….nilai50;
mungkin untuk pembaca yang baru mengenal dunia programmer akan
berpikiran untuk membuat 50 variabel secara individu seperti pernyataan
di atas. Cara di atas adalah sangat-sangat tidak efektif atau salah.
Bagaimana jika satu kelas tidak selalu memiliki 50 anak, mungkin di masa
depan akan memiliki murid lebih dari 50 anak di dalam kelas. Dengan arti
program itu akan selalu membutuhkan modifikasi, bukan hanya pada
variabel tersebut tapi keseluruhan program, seperti input, proses dan
output. Untungnya, dalam bahasa pemrograman C++ dan hampir semua
bahasa pemrograman, menyediakan fitur yang bernama “Array” atau
“Larik”.
Algoritma Pemrograman Page 43
Array memungkinkan kita untuk membuat sebuah variabel yang dapat
menyimpan banyak nilai. Di dalam array terdapat banyak elemen yang
merupakan tempat untuk penyimpanan setiap nilai.
Bentuk Penulisan
tipeData identifier[ukuran];
untuk mendirikan sebuah variabel array sama seperti kita mendirikan
sebuah variabel biasa yang dimana membutuhkan tipe data, identifier, dan
titik koma. Untuk merubah variabel biasanya menjadi variabel array adalah
dengan menambahkan operator subscript ( [] ).
Untuk parameter di dalam operator subscript disebut sebagai index atau
subscript, tempat dimana kita memberitahukan compiler berapa jumlah
variabel yang akan di alokasi sesuai yang kita inginkan. dan dalam array,
istilah dari banyak variabel yang dialokasi itu disebut sebagai elemen.
Contoh Penulisan
int nilai[50];
Di atas adalah contoh penulisan dari penggunaan array, variabel di atas
memiliki identifier “nilai” bertipe data integer sebanyak 50 elemen.
Tersebut memungkinkan kita untuk menyimpan 50 nilai berbeda dalam
satu identifier variabel “nilai”.
Pernyataan di atas dinamakan Array statis atau Fixed array, karena kita
mendirikan variabel array dengan menggunakan konstanta bernilai 50
sebagai index saat punulisan program. Dan pemberian index hanya dapat
dilakukan menggunakan konstanta dan dilakukan sebelum kompilasi
(Compile-time), tidak saat program berjalan (Runtime).
Algoritma Pemrograman Page 44
Untuk mendirikan sebuah variabel array dibutuhkan tipe data, identifier
dan index di dalam subscript. Setiap tipe data untuk mendirikan variabel,
dimungkinkan untuk digunakan pada array. untuk identifier kita bebeas
dalam memberikan identitas tapi harus di bawah peraturan pembuatan
identitas yang telah penulis jelaskan. Untuk index adalah tempat dimana
sebuah konstanta diletakan sebagai penentu banyaknya elemen.
5.2. Inisialisasi Array
Saat mendirikan variabel array kita juga dimungkinkan untuk memberi nilai
saat deklarasi variabel array secara bersamaan, inisialisasi array disebut
sebagai “Initializer list”. apa yang kita butuhkan untuk inisialisasi sebuah
variabel array adalah sepasang tanda kurung kurwal yang mengapit semua
nilai tersebut.
Contoh Penulisan
int grade[50] = {100, 90, 80, 70, 60, 50, 40, 30, 20, 10};
di atas adalah contoh dari cara inisialiasi sebuah variabel array yang
memiliki 50 elemen. Untuk melakukan inisialisasi kita membutuhkan tanda
sama dengan setelah itu nilai dari setiap elemen. Nilai-nilai setiap elemen
akan di kurung di dalam sepasang tanda kurung kurawal. Setiap nilai
dipisahkan dengan tanda koma.
Contoh di atas adalah pernyataan yang valid, meskupun variabel tersebut
memesan 50 elemen tetapi penulis hanya memberikan 10 nilai. Dari 10
nilai tersebut akan mengisi elemen pertama hingga ke sepuluh. Untuk
elemen 10 sampai 50 akan di inisialisasi dengan nilai “0” atau kosong.
Inisialisasi adalah sebuah pilihan, kita bebas untuk membuat variabel
dengan inisialisasi atau tanpa inisialisasi. seperti apa yang telah penulis
jelaskan pada artikel tentang “Inisialisasi”. inisialisasi variabel itu penting
Algoritma Pemrograman Page 45
meskipun tidak wajib. Jika variabel array di atas tidak melakukan
inisialisasi maka otomatis setiap elemen akan mengandung nilai acak
yang berasal dari pengguna memori sebelumnya.
Mendeklarasikan tanpa ukuran array
Pada bahasa pemrograman C++ dalam mendirikan sebuah variabel array kita
dimungkinkan untuk mendirikan variabel array tanpa menyertakan ukuran,
hanya operator subscript tanpa nilai di dalamnya. Tapi untuk melakukan hal
itu, kita diwajibkan untuk menyertai dengan inisialisasi. bukan berarti jika
variabel array tidak menggunakan ukuran akan memiliki elemen yang
dinamis. Variabel array denngan cara tersebut masih dalam golongan
variabel array statis. Dan compiler selalu akan membutuhkan ukuran array
untuk alokasi (elemen) yang dibutuhkan.
Ketika kita mendeklarasikan sebuah variabel array tanpa ukuran array, maka
ukuran dari variabel array tersebut otomatis akan dihitung berdasarkan
jumlah nilai pada proses inisialisasi.
Contoh Penulisan
int nilai[]={2,4,7,9}
pada contoh penulisan di atas compiler akan mendeklarasikan sebuah
variabel array yang memiliki 4 elemen yang dihitung berdsarkan jumlah nilai
pada proses inisialisasi.
Mengakses Variabel Array
Untuk mengakses variabel array tidak jauh beda dengan cara mengakses
variabel biasa, untuk mengakses variabel array membutuhkan Operator
subscript ( [] ) dengan index di dalamnya yang diletakan setelah identitas
variabel.
Algoritma Pemrograman Page 46
Contoh Penulisan
grade[2];
contoh di atas akan mengakses elemen ketiga dari variabel “grade”. Index
yang berada di dalam subscript digunakan untuk mengakses nilai elemen
berdasarkan konstanta yang diberikan. Pada contoh di atas kita mencoba
untuk mengakses elemen keiga dari variabel “grade”.
Bahasa pemrograman C++ tepatnya pada fitur array selalu menggunakan
bilangan cacah (bilangan dimulai dari 0). Dan setiap elemen yang kita pesan
akan di nomori berdasarkan urutan dari 0 sampai sebanyak yang kita pesan.
Misalnya kita memesan grade[50] maka elemen pertama berada pada urutan
nomer 0 dan elemen terakhir berada pada urutan 49.
Elemen pada array
Jika kita menuliskan nomer 10 maka elemen yang akan di akses adalah
elemen nomer urut nomer 11.
Contoh Program
#include <iostream>
using namespace std;
int main ()
{
char grade[3]={};
grade[0] = 'a';
grade[1] = 'b';
grade[2] = 'c';
Algoritma Pemrograman Page 47
cout<<"0 : "<<grade[0]<<endl;
cout<<"1 : "<<grade[1]<<endl;
cout<<"2 : "<<grade[2]<<endl;
return 0;
}
Hati-hati dalam mengakses array, dalam pemrograman C++ kita
dimungkinkan untuk mengakses elemen dari array yang bukan merupakan
anggota array tersebut. misalnya kita mencoba akses index nomer 50,
tetapi variabel array itu sendiri hanya memiliki 10 elemen.
Kita dimungkinkan untuk mengakses index dari array meskipun bukan
merupakan anggota dari variabel array tersebut. itu dapat di lakukan tapi
hal itu dilarang untuk dilakukan. Karena apa yang coba kita akses bukan
merupakan memori milik program anda. Bisa saja memori tersebut dimiliki
oleh program lain.
Pengulangan dengan Array
Pada contoh program di atas kita mengunakan pernyataan tunggal untuk
mengakses setiap elemen array. jika array memiliki 50 elemen bukan
berarti kita harus membuat 50 pernyataan tunggal untuk mengakses
setiap elemen tersebut. termasuk penyuntingan ketika anda merubah
index array.
Untuk mengakses array secara dinamis, tidak memerlukan banyak waktu
untuk membuat pernyataan menyunting program jika ada perubahan
pada array. kita dapat memanfaatkan pernyataan pengulangan.
Contoh Program
#include <iostream>
using namespace std;
int main ()
Algoritma Pemrograman Page 48
{
const int MAX_ARRAY = 5;
string nama[MAX_ARRAY]={};
for(int i=0;i<MAX_ARRAY;++i){
cout<<"Masukan Nama : ";cin>>nama[i];
}
cout<<endl<<"=== Daftar Nama ==="<<endl;
for(int i=0;i<MAX_ARRAY;++i){
cout<<(i+1)<<". "<<nama[i]<<endl;
}
return 0;
}
Pernyataan pengulangan FOR memang merupakan pernyataan yang
efektif untuk digunakan dan sering digunakan oleh para programmer
dalam mengelolah variabel array. di atas adalah program yang akan
meminta 5 nama dan nama tersebut akan di tampilkan di bawahnya
sebagai daftar nama. Program di atas mencontohkan program yang cukup
efisien. Jika kita ingin mengubah banyak elemen pada array, apa yang
harus dilakukan hanyalah mengubah nilai pada variabel konstanta
“MAX_ARRAY”.
Array sebagai Parameter Function
Variabel array sebagai parameter di function akan berbeda dengan
variabel sebagai parameter pada umumnya. Jika anda mengikuti
pembelajaran pada belajarcpp.com, penulis menyadari bahwa materi
function belum penulis sampaikan di beberapa materi sebelumnya. Jadi
penulis menyarankan anda untuk mengerti hal ini sebagai sebuah teori.
Jadi ketika anda bertemu dengan materi function, anda akan tau apa yang
akan terjadi ketika parameter dalam function tersebut adalah variabel
array.
Sifat parameter pada umumnya adalah menyalin nilai dari variabel yang
diajukan sebagai argument. Jadi di antara variabel parameter dengan
Algoritma Pemrograman Page 49
variabel asli tidak saling berhubungan. Ketika anda mencoba mengubah
nilai pada pada parameter maka variabel asli tidak akan terpengaruh,
begitu pula sebaliknya.
Tapi jika parameter itu merupakan array, dan jika anda mencoba untuk
mengubah nilai dari salah satu variabel maka keduanya akan
terpengaruh. Hal itu terjadi karena variabl array bisa sangat memakan
banyak memori, untuk menghindari lamanya proses penyalinan dan
pembekakan memori program, C++ membuat parameter array tidak
menyalin nilai dari variabel array asli, tapi dia menyalin alamat memori
pada variabel asli.
Contoh Program
#include <iostream>
using namespace std;
const int MAX_ARRAY = 5;
void ubah(string str[]){
for(int i=0;i<MAX_ARRAY;++i){
str[i]="Berubah";
}
}
int main ()
{
string nama[MAX_ARRAY]={};
for(int i=0;i<MAX_ARRAY;++i){
cout<<"Masukan Nama : ";cin>>nama[i];
}
ubah(nama);
cout<<endl<<"=== Daftar Nama ==="<<endl;
for(int i=0;i<MAX_ARRAY;++i){
cout<<(i+1)<<". "<<nama[i]<<endl;
}
return 0;
}
Algoritma Pemrograman Page 50
Tambahan : Mengakses hanya menggunakan identitas
Operator subscript dan nilai di dalamnya digunakan untuk mengakses
elemen. Jika kita mencoba untuk mengakses sebuah variabel array tanpa
menggunakan subscript maka apa yang akan kita dapat adalah alamat
memori dari elemen pertama variabel array.
Tapi berbeda dengan array C-Style String, array dengan tipe data char
akan menampilkan sebuah string dari keseluruhan nilai pada setiap
elemen.
5.1. Array Multidimensi
Array adalah fitur dari bahasa pemrograman c++ yang memungkinkan kita
untuk memesan banyak memori yang memiliki tipe data yang sama
dengan hanya menggunakan satu identitas. Dalam variabel kita
dimungkinkan untuk menggunakan array lebih dari satu buah, dan hal itu
disebut sebagai Array Multidimensi.
Untuk mengubah variabel biasa menjadi variabel array adalah dengan
menambahkan operator subscript dengan ukuran di dalamnya, dalam C++
kita dimungkinkan untuk menggunakan banyak subscript, hal itu akan
membuat variabel tersebut menjadi array multidimensi.
Bentuk Penulisan
tipeData identifier[array-1][array-2]….[array-n];
Array Dua Dimensi
Untuk membuat sebuah variabel dengan array dua dimensi, kita
membutuhkan dua buah operator subscript ( [] ) dengan masing-masing
ukuran array.
Algoritma Pemrograman Page 51
Bentuk Penulisan
tipeData identifier[size1][size2];
Contoh Penulisan
string nama[2][3];
array dua dmensi memungkinkan anda untuk menggunakan array di
dalam array, setiap array memiliki array di dalamnya. Bagi penulis jujur
saya sulit untuk menjelaskan array multidimensi. Tapi untuk array dua
dimensi bisa digambarkan seperti sebuah tabel yang mempunyai baris
dan kolom.
Kita dapat membayangkan sebuah array dua dimensi seperti sebuah table
yang memiliki baris dan kolom, untuk array atau subscript pertama adalah
baris dan subscript kedua adalah kolom.
Ilustrasi Array
Algoritma Pemrograman Page 52
Inisialisasi Array Dua Dimensi
Untuk menginisialisasi array dua dimensi adalah dengan cara
menggunakan tanda kurung kurawal di dalam tanda kurung kurawal.
string nama[3][2]={
{“joko”, “dadang”}, //baris ke satu dengan 2 kolom
{“fajar”, “nick”}, // baris ke dua dengan 2 kolom
{“laksono”, ”eren”} // baris ke tiga dengan 2 kolom
}
Tanda kurung kurawal pertama akan menyatakan keseluruhan array dari
variabel, di dalamnya terdapat 3 sepasang kurung kurawal yang
dipisahkan dengan tanda koma, yang menyatakan array dari subscript
pertama. Di dalam masing-masing tanda subscript pertama berdiri 2 nilai
sesuai ukuran array subscript kedua, masing-masing nilai dipisahkan
dengan tanda koma.
Untuk bentuk penulisan bebas menurut keinginan anda, seperti anda bisa
menulis dalam satu baris atau seperti di atas, hal yang penting adalah
penggunaan tanda-tanda baca dan cara penulisanya harus benar seperti
di atas, bentuk penulisan di atas dibentuk seperti halnya sebuah tabel
hanya untuk mempermudah kita dalam membaca nilai-nilai tersebut.
Jika anda tidak mengisi salah satu cell atau semua cell maka anda akan
menginisialisasi array dalam variabel array tersebut menjadi bernilai 0
atau kosong.
string nama[3][2]={
{“joko”, “dadang”}, //baris ke satu dengan 2 kolom [1][1] = “joko”,
[1][2]=”dadang”
{“fajar”}, // baris ke dua dengan 2 kolom, [2][1] = “fajar”, [2][2] “”
{} // menginisialisasi satu baris dengan angka 0, [3][1] = “”,
[3][2]=””
}
Algoritma Pemrograman Page 53
dan juga bisa seperti ini
string nama[3][2]={}
Deklarasi Variabel Array Multidimensi Tanpa Ukuran
array multidimensi adalah array, kita masih dimungkinkan untuk
mendeklarasi variabel array tanpa menyertakan ukuran dari array
tersebut, ukuran otomatis akan terhitung berdasarkan jumlah nilai pada
proses inisialisasi.
Mengakses Array Dua Dimensi
nama[2][1]
untuk mengakses sebuah cell pada array dimensi dua, sama seperti kita
mengakses array dimensi satu. Tapi disini kita membutuhkan dua
subscript sebagai alamat cell tersebut.
untuk dapat megakses setiap cell di dalam array dua dimensi dengan
dinamis anda dapat menggunakan pernyataan pengulangan nested
(nested loop).
Contoh Program
#include <iostream>
using namespace std;
const int MAX_ROW = 3;
const int MAX_COL = 3;
int main ()
{
string nama[MAX_ROW][MAX_COL]={
{"joko", "dadang", “aziz”},
{"fajar", "nick"},
{"laksono", "eren"}
};
Algoritma Pemrograman Page 54
for(int i=0;i<MAX_ROW;++i){
for(int j=0;j<MAX_COL;++j){
cout<<"["<<(i+1)<<"]["<<(j+1)<<"]. "<<nama[i][j]<<endl;
}
}
return 0;
}
Array Tiga Dimensi ke atas
Jika pembaca sudah mengerti mengenai konsep dari array, anda akan
dengan mudah untuk memodifikasi array, menambahkan beberapa
subscript untuk menjadikanya array multidimensi.
Secara garis besar, pembuatan, penggunaan, pengaksesan array multi
dimensi memiliki konsep yang sama seperti apa yang telah penulis
jelaskan di atas pada array dua dimensi.
Pembekakan memori
Pada artikel belajarcpp.com sebelemunya telah penulis sampaikan bahwa
array bisa memakan banyak memori, terutama array multi dimensi.
Karena apa yang kita pesan adalah berkali-kali lipat lebih besar dari
variabel biasa.
Misalnya anda mendirikan variabel array satu dimensi “int nomer[5]”,
besar memori untuk membuat variabel integer adalah 4 byte (di beberapa
komputer bisa berbeda-beda), dikali dengan jumlah elemen yaitu 5
elemen, berarti apa yang telah anda pesan adalah variabel dengan jumlah
memori 20 byte.
dan ada yang lebih memakan memori adalah saat anda memesan
variabel array multi dimensi, misalnya anda memesan variabel empat
dimensi “int nomer[3][4][5][2]”, dengan hitungan :
int * 10 * 40 * 50 * 20
4 byte * 10 * 40 * 50 * 20 = 1600000 byte
Algoritma Pemrograman Page 55
Jumlah itu merupakan jumlah yang tidak kecil, anda bisa membebani
pogram anda dengan pembekakan memori, jadi saran penulis adalah
ketika anda mendirikan variabel array berhati-hatilah dalam memesan
jumlah elemen pada array tersebut, pesanlah sesuai yang anda butuhkan,
jangan memesan memori terlalu banyak yang nantinya bisa menjadi
memori yang tidak digunakan.
Algoritma Pemrograman Page 56
BAB 7
PEMROGRAMAN MODULAR
Target Pencapaian :
Mahasiswa Memahami
Jenis Variabel, Fungsi,
Prosedur
Algoritma Pemrograman Page 57
7.1. Pemrogaman Modular
Pemrograman Modular adalah suatu teknik pemrograman di mana
program yang biasanya cukup besar dibagi-bagi menjadi beberapa
bagian program yang lebih kecil sehingga akan mudah dipahami dan
dapat digunakan kembali, baik untuk program itu sendiri maupun
program lain yang memiliki proses yang sama.
Poin-poin penting dalam pemrograman modular:
a. Program dalam C++ dibagai menjadi beberapa bagian modul.
b. Modul pada bahasa C++ dikenal dengan nama fungsi (function).
c. Bahasa C terdiri dari fungsi-fungsi, baik yang langsung
dideklarasikan dalam program ataupun dipisah di dalam header
file.
d. Fungsi yang selalu ada dalam C++ adalah fungsi main.
e. Fungsi dibentuk untuk menyelesaikan tugas tertentu.
f. Modul diperlukan jika perintah/coding tersebut diperlukan di
tempat lain dalam program
g. Modul sering disebut sub-program.
Keunggulan Pemrograman Modular
a. Program lebih pendek, singkat dan padat.
b. Program menjadi lebih mudah dibaca dan dimengerti.
c. Masalah yang kompleks dapat dijadikan masalah yang lebih
sederhana.
d. Mencari kesalahan lebih mudah karena alur logika lebih jelas.
e. Kesalahan yang terjadi bersifat local.
f. Modifikasi dapat dilakukan tanpa mengganggu program secara
keseluruhan.
Algoritma Pemrograman Page 58
Skema Pemrograman Modular
7.2. Pengertian Fungsi
Fungsi (function) merupakan blok kode yang dirancang untuk
melakukan tugas tertentu atau satu blok intruksi atau subprogram kecil
yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program
atau di sebut juga dengan modular programming.
Kegunaan Fungsi
a. Untuk mengurangi pengulangan penulisan program yang sama.
b. Agar program menjadi lebih terstruktur sehingga mudah dipahami
dan lebih mudah untuk dikembangkan.
c. Menguraikan tugas pemrograman rumit menjadi langkah-langkah
yang lebih sederhana atau kecil..
d. Memecah program besar menjadi kecil sehingga dapat dikerjakan
oleh programmer-programmer atau dipecah menjadi beberapa
tahap sehingga mempermudah pengerjaan dalam sebuah projek.
e. Menyembunyikan informasi dari user sehingga mencegah adanya
perbuatan iseng seperti memodifikasi atau mengubah program
yang kita buat.
f. Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu
kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan
tak perlu mencari kesalahan tersebut di seluruh program.
Algoritma Pemrograman Page 59
Keunggulan Fungsi
a. Dapat melakukan pendekatan top-down dan divide-and conquer:
b. Top-down: penelusuran program mudah
c. Divide-and-conquer: program besar dapat dipisah menjadi program-
program kecil.
d. Kode program menjadi lebih pendek, mudah dibaca, dan mudah
dipahami
e. Program dapat dikerjakan oleh beberapa orang sehingga program
cepat selesai dengan koordinasi yang mudah.
f. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas
dan sederhana
g. Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
h. Modifikasi program dapat dilakukan pada suatu modul tertentu saja
tanpa mengganggu program keseluruhan
i. Fungsi – fungsi menjadikan program mempunyai struktur yang jelas.
j. Dengan memisahkan langkah – langkah detail ke satu atau lebih
fungsi – fungsi, maka fungsi utama (main) akan menjadi lebih
pendek, jelas dan mudah dimengerti.
k. Fungsi –fungsi digunakan untuk menghindari penulisan program
yang sama yang ditulis secara berulang – ulang.
l. Langkah – langkah tersebut dapat dituliskan sekali saja secara
terpisah dalam bentuk fungsi. Selanjutnya bagian program yang
membutuhkan langkah – langkah ini tidak perlu selalu
menuliskannya, cukup memanggil fungsi tersebut.
m. Mempermudah dokumentasi.
n. Reusability: Suatu fungsi dapat digunakan kembali oleh program
atau fungsi lain
Algoritma Pemrograman Page 60
Jenis Fungsi
1. Standard Library Function
Yaitu fungsi-fungsi yang telah disediakan oleh C dalam file-file
header atau librarynya.
Misalnya: clrscr(), getch()
Untuk function ini kita harus mendeklarasikan terlebih dahulu
library yang akan digunakan, yaitu dengan menggunakan
preprosesor direktif.
Misalnya: #include <conio.h>
2. Programmer-Defined Function
Adalah function yang dibuat oleh programmer sendiri. Function ini
memiliki nama tertentu yang unik dalam program, letaknya terpisah dari
program utama, dan bisa dijadikan satu ke dalam suatu library buatan
programmer itu sendiri yang kemudian juga di-includekan jika ingin
menggunakannya.
Pendeklarasian Fungsi
Algoritma Pemrograman Page 61
Fungsi dari Return
return berfungsi untuk mengakhri eksekusi dari function tersebut, dan
return juga dapat memberikan nilai pada saat akhir dari function kepada
pemanggil.
Bentuk penulisan
1
2
return; //pengembalian tanpa nilai.
return nilai;//pengembalian dengan nilai.
Contoh penulisan
1
2
3
4
5
6
7
8
//pengembalian tanpa nilai
return;
//pengembalian dengan nilai
return true;
return myVar;
return “belajarcpp.com”;
return 6+myVar/5;
Function memiliki dua jenis, yaitu function yang tidak mengembalikan nilai
dan function yang dapat mengembalikan nilai pada pemanggil. Dan return
adalah keyword untuk mengatur hal tersebut.
Function tidak mengembalikan nilai
Function yang tidak mengembalikan nilai biasanya menggunakan return
type yang bertipe void.
Contoh Program
1
2
3
4
5
#include <iostream>
#include <string>
using namespace std;
void hallo(string a=""){
if(a == ""){
Algoritma Pemrograman Page 62
6
7
8
9
10
11
12
13
return;
}
cout<<"Hallo "<<a<<" !"<<endl;
}
int main(){
hallo();
return 0;
}
Saat CPU mendapatkan pernyataan return, CPU akan keluar dari function
itu dan akan mengabaikan segala hal, meskipun setelah pernyataan
tersebut masih terdapat banyak pernyataan lain.
Pada contoh program di atas, terjadi pemanggilan function hallo() dengan
menggunakan satu parameter string, lalu pada function tersebut terdapat
penyeleksian untuk memeriksa nilai dari parameter. Lalu dibawahnya
terdapat pernyataan keluaran.
Jadi jika pengguna memanggil dan memberikan argument yang tidak
kosong maka akan program tersebut akan mengeluarkan keluara “hallo ”
di ikuti dengan nilai argument yang pengguna berikan.
Tapi jika kosong maka CPU akan meloncati dan mengabaikan pernyataan
keluaran tersebut, alhasil pada program tidak akan menampilkan keluaran
apapun.
Function yang mengembalikan nilai
Dan jenis dari function yang lain adalah Function yang dapat
mengembalikan nilai. Setiap function yang bukan function dengan return
type void merupakan function yang dapat mengembalikan sebuah nilai
kepada pemanggil.
Algoritma Pemrograman Page 63
Contoh program
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
using namespace std;
string hallo(string a=""){
return "Hallo "+a+" !";
}
int main(){
cout<<hallo("Belajar C++");
return 0;
}
Untuk mengembalikan nilai kepada pemanggil kita bisa melakukanya
dengan memberikan data, string, konstanta, identitas variabel, ekspresi
dan lain-lain yang memiliki nilai. Pemberian nilai tersebut diletakan
sesudah keyword return.
Tapi saat kita akan mengembalikan nilai, kita harus melihat dan
menyesuaikan return type apa yang function itu gunakan, pemberian data
dan return type pada function harus sesuai.
Pada contoh di atas, terdapat function kustom dengan return type string
dan memiliki 1 parameter yang yang juga merupakan string.
Saat program di eksekusi akan menghasilkan keluaran yang berupa
pernyataan String “Hallo ” dan dikuti dengan nilai argument yang diberikan
saat pemanggilan function.
Contoh program
1
2
3
4
5
6
#include <iostream>
using namespace std;
double luasLingkaran(double r=0){
if(!r){
cout<<"Anda tidak memasukan argument r."<<endl;
return 0;
Algoritma Pemrograman Page 64
7
8
9
10
11
12
13
14
15
}
const double pi = 3.14159265358979323846;
return pi*r*r;
}
int main(){
cout<<luasLingkaran(3);
return 0;
}
Di atas adalah contoh program yang dapat menghitung luas dari
lingkaran.
Pada function yang dapat mengembalikan nilai. nilai dari function yang
kita panggil dapat kita abaikan. kita tidak diharuskan untuk mengambil
nilai yang diberikan oleh function, yang kita panggil.
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int hitungan(){
return 9+6;
}
int main(){
hitung(); //nilai yang dikembalikan diabaikan
}
hal tersebut pada program di atas dapat dilakukan, dan tidak berdampak
buruk pada proses kompilasi dan kerja program kita.
Kebenaran yang lainya yang perlu anda tau adalah, bahwa setiap function
yang menggunakan return hanya dapat mengembalikan satu nilai kepada
pemanggil.
Dalam pengembalian nilai sendiri kita dimungkinkan menggunakan
beberapa metode, mirip seperti saat pemberian argument kepada function
parameter. Metode-metode yang dapat dilakukan pada saat
Algoritma Pemrograman Page 65
pengembalian nilai adalah return by value, return by reference dan return
by address.
Secara teori metode-metode pada return mirip dengan pemberian
argument pada function parameter.
Apa arti dari return 0; pada function utama int main () ?
Pada dasarnya function yang memiliki return type selain void akan selalu
mengembalikan nilai, secara default akan mengembalikan nilai 0 atau
NULL saat programmer tidak menyertakan pernyataan return pada
function tersebut.
Function utama pada Bahasa pemrograman C/C++ selalu menggunakan
integer sebagai return type, dan kita harus tau bahwa pernyataan di
atas, perlakuan selalu mengembalikan nilai 0 atau NULL secara default,
tidak berlaku pada Function utama. dan itu adalah alasan kenapa kita
harus menyertakan pernyataan return 0;.
return 0; sendiri memiliki arti untuk komputer kita. Setelah program kita
selesai di kompilasi, dan saat CPU memulai mengeksekusi program kita,
CPU akan selalu memulai pada function utama dan berakhir pada function
utama, yaitu int main();.
Apa yang terjadi adalah, untuk mengeksekusi program kita, CPU akan
memanggil function utama, dan pada saat program berakhir, program juga
akan menyertakan nilai yang dikembalikan oleh function utama. biasanya
program anda memberikan nilai 0 kepada CPU. nilai 0 tersebut memiliki
arti berbeda pada CPU, yaitu program anda memberikan informasi kepada
CPU bahwa program anda telah berjalan dengan baik.
Secara default CPU akan menganggap suatu program telah berjalan
dengan baik jika mereka mengembalikan nilai 0 yang dilakukan oleh
pernyataan return 0.
Algoritma Pemrograman Page 66
Jika program mengembalikan nilai selain 0, maka menyatakan informasi
kepada CPU bahwa program berakhir dengan tidak wajar.
Algoritma Pemrograman Page 67
BAB 8
PENGURUTAN
Target Pencapaian :
Mahasiswa Memahami
Jenis Pengurutan dan
Contoh Penggunaannya
Algoritma Pemrograman Page 68
Sorting adalah proses mengatur sekumpulan objek menurut aturan atau
susunan tertentu. Urutan objek tersebut dapat menaik atau disebut juga
ascending (dari data kecil ke data lebih besar) ataupun
menurun/descending(dari data besar ke data kecil).
Metode Sorting :
8.1. Bubble Sort / Pengurutan Gelembung
Bubble sort / pengurutan gelembung ini merupakan suatu metode
pengurutan gelembung yang diinspirasi oleh gelembung sabun yang ada
di dalam permukaan air, karena berat jenis gelembung sabun lebih ringan
daripada berat jenis air maka gelembung sabun akan selalu megapung.
Prinsip pengapungan ini juga dipakai pada pengurutan gelembung.
Elemen yang berharga paling kecil “diapungkan”, yang artinya diangkat ke
atas (atau ke ujung paling kiri) melalui pertukaran. Proses pengapungan
ini dilakukan N kali langkah. Pada langkah ke 1, Larik[1….N] akan terdiri
dari 2 bagian yaitu :
a. Bagian yang sudah terurut yaitu L[1]…L[i]
b. Bagian yang belum terurut L[i+1]..L[n]
Untuk contoh program ini adalah
Algoritma Pemrograman Page 69
Hasil Outputnya :
Algoritma Pemrograman Page 70
8.2. Selection Sort/Pengurutan Maksimum-minimum
Metode pengurutan ini didasarkan pada pemilihan elemen maksimum
atau minimum kemudian mempertukarkan elemen maksimum-minimum
tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen
ujung kanan), selanjutnya elemen terujung itu kita “isolasi” dan tidak diikut
sertakan pada proses selanjutnya. Karena proses utama dalam
pengurutan adalah pemilihan elemen maksimum/minimum, maka metode
ini disebut metode pemilihan ( selection)
Contoh programnya adalah :
Algoritma Pemrograman Page 71
Hasil Outpunya adalah :
8.3. Insertion Sort/Pengurutan Sisip
Insertion Sort/pengurutan sisip adalah metode pengurutan dengan cara
menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang
tepat dilakukan dengan pencarian beruntun. Selama pencarian posisi
yang tepat dilakukan pergeseran elemen larik.
REFERENSI
https://www.belajarcpp.com

More Related Content

What's hot

SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
Rahmatdi Black
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
laurensius08
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
Banta Cut
 
06.1 Berpikir Komputasional.pptx
06.1 Berpikir Komputasional.pptx06.1 Berpikir Komputasional.pptx
06.1 Berpikir Komputasional.pptx
Edi Nur Rochman
 
Interaksi Manusia Dan Komputer Soal + Jawaban
Interaksi Manusia Dan Komputer Soal + JawabanInteraksi Manusia Dan Komputer Soal + Jawaban
Interaksi Manusia Dan Komputer Soal + JawabanAwang Ramadhani
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
Buhori Muslim
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
EnvaPya
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
linda_rosalina
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
agung_tri_anggoro
 
MAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTINGMAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTING
Hanny Maharani
 
Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakf' yagami
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksiAriev Kusuma
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdfMODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
ZiraWhiter
 
Algoritma & Pemrograman
Algoritma & PemrogramanAlgoritma & Pemrograman
Algoritma & Pemrograman
Ari Wibowo
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
Sherly Uda
 

What's hot (20)

SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
Bab 6 relasi
Bab 6 relasiBab 6 relasi
Bab 6 relasi
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
06.1 Berpikir Komputasional.pptx
06.1 Berpikir Komputasional.pptx06.1 Berpikir Komputasional.pptx
06.1 Berpikir Komputasional.pptx
 
Interaksi Manusia Dan Komputer Soal + Jawaban
Interaksi Manusia Dan Komputer Soal + JawabanInteraksi Manusia Dan Komputer Soal + Jawaban
Interaksi Manusia Dan Komputer Soal + Jawaban
 
Tutorial Matlab
Tutorial MatlabTutorial Matlab
Tutorial Matlab
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
MAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTINGMAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTING
 
Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunak
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksi
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdfMODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
 
Algoritma & Pemrograman
Algoritma & PemrogramanAlgoritma & Pemrograman
Algoritma & Pemrograman
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Materi 6. perulangan
Materi 6. perulanganMateri 6. perulangan
Materi 6. perulangan
 

Similar to Praktikum Algoritma Pemrograman

Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
casnadi
 
WSOK EMagazine - Part 2
WSOK EMagazine - Part 2WSOK EMagazine - Part 2
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Beny Abd
 
Ppt etika programmer
Ppt etika programmerPpt etika programmer
Ppt etika programmer
Dhewiie Whiee
 
Modul 1 pengenalan
Modul 1  pengenalanModul 1  pengenalan
Modul 1 pengenalan
Fardian Syah
 
Tahapan membuat program aplikasi
Tahapan membuat program aplikasiTahapan membuat program aplikasi
Tahapan membuat program aplikasi
xeonseries
 
Sim, aviani safitri, prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...
Sim, aviani safitri,  prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...Sim, aviani safitri,  prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...
Sim, aviani safitri, prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...
Aviani safitri
 
Pertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfPertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdf
JulianaMansur6
 
TD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrogramanTD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrograman
Tino Dwiantoro
 
Ukk 2016 membuat game dengan aplikasi construct - bagas wiranto
Ukk 2016   membuat game dengan aplikasi construct - bagas wirantoUkk 2016   membuat game dengan aplikasi construct - bagas wiranto
Ukk 2016 membuat game dengan aplikasi construct - bagas wiranto
Syiroy Uddin
 
Design dan Pemrograman Web
Design dan Pemrograman WebDesign dan Pemrograman Web
Design dan Pemrograman Weboldias
 
Tugas Materi SOFTWARE ENGINEERING PRACTICE.pptx
Tugas Materi SOFTWARE ENGINEERING PRACTICE.pptxTugas Materi SOFTWARE ENGINEERING PRACTICE.pptx
Tugas Materi SOFTWARE ENGINEERING PRACTICE.pptx
TaufikHidayat8361
 
makalahh
makalahhmakalahh
makalahh
Ramses Tandang
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
Pisca Prasetyo
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
Raden Maulana
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
Rangga Dwi Sri Nardi
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
Rony BolaNk
 

Similar to Praktikum Algoritma Pemrograman (20)

Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
WSOK EMagazine - Part 2
WSOK EMagazine - Part 2WSOK EMagazine - Part 2
WSOK EMagazine - Part 2
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesor
 
Ppt etika programmer
Ppt etika programmerPpt etika programmer
Ppt etika programmer
 
Modul 1 pengenalan
Modul 1  pengenalanModul 1  pengenalan
Modul 1 pengenalan
 
Tahapan membuat program aplikasi
Tahapan membuat program aplikasiTahapan membuat program aplikasi
Tahapan membuat program aplikasi
 
Sim, aviani safitri, prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...
Sim, aviani safitri,  prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...Sim, aviani safitri,  prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...
Sim, aviani safitri, prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...
 
Pertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfPertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdf
 
TD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrogramanTD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrograman
 
Ukk 2016 membuat game dengan aplikasi construct - bagas wiranto
Ukk 2016   membuat game dengan aplikasi construct - bagas wirantoUkk 2016   membuat game dengan aplikasi construct - bagas wiranto
Ukk 2016 membuat game dengan aplikasi construct - bagas wiranto
 
Design dan Pemrograman Web
Design dan Pemrograman WebDesign dan Pemrograman Web
Design dan Pemrograman Web
 
Rpl upload #2
Rpl upload #2Rpl upload #2
Rpl upload #2
 
Tugas Materi SOFTWARE ENGINEERING PRACTICE.pptx
Tugas Materi SOFTWARE ENGINEERING PRACTICE.pptxTugas Materi SOFTWARE ENGINEERING PRACTICE.pptx
Tugas Materi SOFTWARE ENGINEERING PRACTICE.pptx
 
makalahh
makalahhmakalahh
makalahh
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
Program Penjualan Supermarket
Program Penjualan SupermarketProgram Penjualan Supermarket
Program Penjualan Supermarket
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
RPL
RPLRPL
RPL
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 

More from Wahyu Widodo

Web Statis
Web StatisWeb Statis
Web Statis
Wahyu Widodo
 
Web Interaktif
Web InteraktifWeb Interaktif
Web Interaktif
Wahyu Widodo
 
Web Service
Web ServiceWeb Service
Web Service
Wahyu Widodo
 
Pemrograman Web Dinamis
Pemrograman Web DinamisPemrograman Web Dinamis
Pemrograman Web Dinamis
Wahyu Widodo
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
Wahyu Widodo
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data
Wahyu Widodo
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman Visual
Wahyu Widodo
 
Pertemuan1 Konsep Web Desain
Pertemuan1   Konsep Web DesainPertemuan1   Konsep Web Desain
Pertemuan1 Konsep Web Desain
Wahyu Widodo
 

More from Wahyu Widodo (8)

Web Statis
Web StatisWeb Statis
Web Statis
 
Web Interaktif
Web InteraktifWeb Interaktif
Web Interaktif
 
Web Service
Web ServiceWeb Service
Web Service
 
Pemrograman Web Dinamis
Pemrograman Web DinamisPemrograman Web Dinamis
Pemrograman Web Dinamis
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman Visual
 
Pertemuan1 Konsep Web Desain
Pertemuan1   Konsep Web DesainPertemuan1   Konsep Web Desain
Pertemuan1 Konsep Web Desain
 

Recently uploaded

RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
lastri261
 
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
haryonospdsd011
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
mattaja008
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
UditGheozi2
 
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
ferrydmn1999
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
agusmulyadi08
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
Hernowo Subiantoro
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
astridamalia20
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
RinawatiRinawati10
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
Kurnia Fajar
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024
SABDA
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
suprihatin1885
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
muhammadyudiyanto55
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Galang Adi Kuncoro
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 

Recently uploaded (20)

RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
 
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 

Praktikum Algoritma Pemrograman

  • 1. Modul Praktikum Algoritma dan Pemrograman Disusun Oleh : Wahyu Widodo SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER EL RAHMA YOGYAKARTA
  • 2. Algoritma Pemrograman Page 1 Daftar Isi BAB I .......................................................................................................3 PENGANTAR ALGORITMA DAN PEMROGRAMAN ...........................3 1.1. Meningkatkan Kemampuan Berpikir Secara Logis .....................4 1.2. Mengembangkan Cara Berpikir Dengan Sistematis ...................5 1.3. Melatih Teliti Terhadap Detail ......................................................6 1.4. Meningkatkan Kemampuan dalam Mengatasi Masalah .............7 BAB 2 ......................................................................................................8 FLOWCHAT DAN PSEUDO CODE.......................................................8 2.1 Flowchart.......................................................................................9 2.2. Contoh Flowchart Algoritma.......................................................11 2.3. Pseudocode................................................................................12 BAB 3 ....................................................................................................16 TIPE DATA............................................................................................16 3.1. Daftar Lengkap Tipe data C++ ............................................18 3.2. Contoh Implementasi Tipe Data ................................................19 3.2. Fungsi dan Cara penggunaan macam-macam dasar Tipe Data 20 BAB 4 ....................................................................................................25 PENCABANGAN ..................................................................................25 4.1. Bentuk Pernyataan IF.................................................................27 4.2. Nested IF.....................................................................................29 BAB 5 ....................................................................................................32 PERULANGAN .....................................................................................32
  • 3. Algoritma Pemrograman Page 2 5.1. Pernyataan FOR.........................................................................33 5.2. Nested FOR ................................................................................37 5.3. Pernyataan Do..While.................................................................37 BAB 6 ....................................................................................................41 ARRAY..................................................................................................41 5.1. Pengertian Array.........................................................................42 5.2. Inisialisasi Array..........................................................................44 5.1. Array Multidimensi ......................................................................50 BAB 7 ....................................................................................................56 PEMROGRAMAN MODULAR .............................................................56 7.1. Pemrogaman Modular................................................................57 7.2. Pengertian Fungsi.......................................................................58 Fungsi dari Return............................................................................61 Function tidak mengembalikan nilai ............................................61 Function yang mengembalikan nilai ............................................62 Apa arti dari return 0; pada function utama int main () ? .....65 BAB 8 ....................................................................................................67 PENGURUTAN.....................................................................................67 8.1. Bubble Sort / Pengurutan Gelembung.......................................68 8.2. Selection Sort/Pengurutan Maksimum-minimum ......................70 8.3. Insertion Sort/Pengurutan Sisip .................................................71
  • 4. Algoritma Pemrograman Page 3 BAB I PENGANTAR ALGORITMA DAN PEMROGRAMAN Target Pencapaian : Mahasiswa Memahami Pentingnya Menguasai Algoritma Pemrograman
  • 5. Algoritma Pemrograman Page 4 Manfaat Menguasai Algoritma dan Pemrograman Bagi developer, computer scientist, atau programmer tentu sudah tahu manfaat belajar bahasa pemrograman, tidak perlu dijelaskan lagi. Belajar bahasa pemrograman bagi mereka akan sangat bermanfaat untuk bidang pekerjaan yang dimilikinya, apalagi bagi mereka yang sedang mengerjakan proyek-proyek baru yang sama sekali belum pernah disentuhnya. Akan tetapi, bagaimana manfaat belajar bahasa pemrograman bagi orang awam atau orang yang sedang belajar? Tentu tak hanya sebatas meningkatkan kemampuan melakukan pemrograman yang akan di dapatkan, tetapi berbagai hal terkait dengan hal tersebut. Selain iming-iming intensif yang besar, belajar pemrograman memiliki beberapa manfaat yang dapat kita rasakan. Manfaat ini tidak secara langsung dapat kita rasakan, tetapi dengan proses belajar yang tepat, manfaat ini akan kita rasakan jauh setelah proses tersebut terlewati. Belajar bahasa pemrograman merupakan sebuah pembiasan. Pembiasaan dalam menuliskan baris-baris kode yang benar, pembiasaan dalam menggunakan penalaran yang tepat, dan pembiasaan dalam menggunakan perumusan yang sesuai. Proses-proses tersebut juga akan memberikan keuntungan tersendiri bagi orang-orang yang mempelajari bahasa pemrograman. Beberapa manfaat belajar bahasa pemrograman di antaranya adalah sebagai berikut ini : 1.1. Meningkatkan Kemampuan Berpikir Secara Logis Untuk membuat sebuah produk dengan bahasa pemrograman, termasuk di dalamnya aplikasi, game, perangkat mikrokontroler, atau perangkat IoT, kita tidak akan bisa lepas dari logika-logika pemrograman yang akan
  • 6. Algoritma Pemrograman Page 5 digunakan untuk membuat produk tersebut agar produk tersebut bekerja sesuai dengan yang diharapkan. Logika dan algoritma pemrograman menjadi suatu hal yang sangat penting dalam membuat atau mengembangkan sebuah produk. Kesalahan logika yang digunakan, tentu akan berakibat fatal terhadap produk yang akan dikembangkan. Selain eror, tentu produk yang dikembangkan tidak akan sesuai dengan apa yang kita inginkan. Oleh karena itu, belajar logika pemrograman merupakan hal yang wajib, agar produk yang dikembangkan tidak mengalami permasalahan dalam pengembangannya. Logika pemrograman menjadi bagian penting yang harus dipelajari oleh orang yang belajar bahasa pemrograman, tanpa melihat pilihan bahasa yang dipelajarinya. Setelah memilih bahasa yang tepat, semua orang yang berkecimpung dalam mempelajari bahasa pemrograman harus mempelajari logika perograman. Bersamaan dengan ini, tentu kita akan menjadi terlatih untuk berfikir dengan menggunakan logika saat menghadapi permasalaan. Seperti yang disebutkan sebelumnya, belajar pemrograman merupakan sebuah pembiasaan. Ketika pikiran kita dibiasakan untuk menggunakan logika, tanpa disengaja kita akan terbiasa untuk menggunakannya dalam kehidupan sehari-hari juga. Tanpa sadar kita akan mendapatkan kemampuan berpikir secara logis sebagai salah satu manfaat belajar bahasa pemrograman. Kita akan terlatih untuk mempertimbangkan berbagai hal untuk mengatasi berbagaimacam permasalahan yang ada. 1.2. Mengembangkan Cara Berpikir Dengan Sistematis Selain dapat mempertimbangkan dengan tepat bagaimana kita akan menyelesaikan sebuah permasalahan, manfaat belajar bahasa
  • 7. Algoritma Pemrograman Page 6 pemrograman yang lainnya adalah dapat mengembangkan cara berfikir sistematis. Dalam membuat sebuah program, seseorang akan dihadapkan pada baris-baris kode yang harus disusun secara sistematis. Baris-baris kode ini tidak boleh terbolak-balik baik penyusunannya maupun penulisannya, agar program yang dibangun dapat berjalan tanpa permasalahan. Sistematika ini berlaku untuk berbagai macam jenis bahasa pemrograman yang ada sejak dulu sampai sekarang. Hal ini menyebabkan seorang calon pembuat program harus mempelajari bagaimana menuliskan kode dengan aturan dan sistematika yang sebenarnya. Belajar membuat kode yang sistematis menjadi salah satu bagian yang harus dipelajari saat belajar bahasa pemrograman. Sebagai dampak positifnya, kita tentu akan semakin terbiasa dengan cara berpikir sistematis. Cara berpikir ini akan terbawa ke kehidupan sehari- hari, terutama dalam menghadapi berbagai macam permasalahan yang sedang menghimpit. 1.3. Melatih Teliti Terhadap Detail Dalam membangun sebuah program, sering kali seorang developer akan mengalami sebuah permasalahan, salah satunya adalah program yang dibangun eror saat diverifikasi atau di-build. Permasalahan ini akan memerlukan sedikit ketelitian untuk mengatasinya. Seorang developer harus mengecek ulang kode, dan mencari bagian kode yang menyebabkan terjadinya permasalahan. Jika hal tersebut belum menyelesaikan masalah, developer masih harus mengecek berbagai hal yang berkaitan dengan program yang dibangun tersebut, seperti mengecek power yang digunakan jika dalam membuat program
  • 8. Algoritma Pemrograman Page 7 untuk perangkat keras, atau mengecek koneksi internet jika tools yang digunakan berjalan secara online. Apalagi bagi pemula atau orang yang sedang belajar, permasalahan ini tentu akan menjadi bagian dari aktivitas membuat sebuah program. Karena belum terbiasa menulis atau membuat kode, kesalahan-kesalahan menuliskan baris-baris kode akan menjadi rutinitas. Akan tetapi, dengan terbiasa mencari kesalahan dalam menuliskan kode saat belajar, kita akan menjadi terbiasa dan lebih teliti dalam menuliskan kode dalam membuat sebuah program. Hal ini tentu akan berimbas ke dalam aktivitas kita sehari-hari sebagai salah satu manfaat belajar bahasa pemrograman. 1.4. Meningkatkan Kemampuan dalam Mengatasi Masalah Dengan mempelajari bahasa pemrograman, kita akan dilatih untuk menyelesaikan sebuah permasalahan, baik itu tentang bagaimana produk harus bekerja maupun bagaimana mengatasi kesalahan-kesalahan yang terjadi. secara tidak sadar, kita juga akan membawa hal ini ke dalam kehidupan sehari-hari untuk menghadapi berbagai macam permasalahan yang terjadi. Kita secara tidak sadar akan berpikir secara logis dan sistematis, seperti yang dijelaskan sebelumnya. Belajar bahasa pemrograman akan memberikan dapampat positif bagi kita. Bahkan perusahaan raksasa teknologi Google pun percaya, dengan belajar program, kita tak hanya akan memperoleh kemampuan dalam melakukan pemrograman, tetapi juga mengembangkan pikiran yang dapat digunakan untuk menyelesaikan berbagai macam permasalahan. Kemampuan untuk memecahkan permasalahan ini akan menjadi salah satu manfaat belajar bahasa pemrograman.
  • 9. Algoritma Pemrograman Page 8 BAB 2 FLOWCHAT DAN PSEUDO CODE Target Pencapaian : Mahasiswa Memahami Teknik Pengambilan Keputusan, Perulangan Proses, Pseudo Code, dan Struktur Algoritma
  • 10. Algoritma Pemrograman Page 9 Pemrograman merupakan sebuah hal yang sangat rumit namun tidak akan rumit jika sudah memahami dasarnya. Didalam dunia pemrograman , programmer harus tahu dan bisa membuat rancangan program yang akan di buat agar program yang akan dibuat tersebut bisa berjalan dengan baik. Perlu disadari bahwa sebagai calon programmer kita juga harus belajar dari dasar yaitu dengan mengenal Pseudocode dan Flowchart. 2.1 Flowchart Untuk menggambarkan alur logika dalam komputasi digunakan standar dasar pemodelan yaitu menggunakan flowchart. Flowchart menunjukkan aliran proses dari awal sampai penyelesaian komputasi. Dalam standar yang lebih kompleks flowchart juga dapat dimodelkan dalam Unified Modelling Language (UML) yaitu menggunakan diagram activity. Dimana diagram activy adalah flowchart yang melibatkan berbagai interaksi pengguna ataupun domain sistem. Simbol Proses lojik
  • 11. Algoritma Pemrograman Page 10 Simbol Koneksi
  • 12. Algoritma Pemrograman Page 11 Simbol input output 2.2. Contoh Flowchart Algoritma Untuk menunjukkan proses algoritma pemrograman sehingga mudah untuk dimengerti dapat menggunakan standar flowchart.
  • 13. Algoritma Pemrograman Page 12 2.3. Pseudocode Pseudocode adalah metode penulisan bahasa inggris sederhana yang merepresentasikan lojik algoritma pemrograman. Pseudo berarti tiruan, sedangkan Code adalah kode program sehingga pseudocode bisa disebut sebagai kode tiruan dari program sebenarnya yang dituliskan dalam standar bahasa inggris untuk mendekatkan dengan perintah-perintah yang terdapat pada bahasa pemrograman. Pada dasarnya struktur pseudocode hanya dibagi atas 6 perintah yaitu : 1. Sequence, memiliki cakupan perintah yang luas untuk perintah eksekusi proses,contoh diantara kata kunci yang sering digunakan  Input:READ,OBTAIN,GET Contoh: READ height; READ Weights; OBTAIN range; GET radius.  Output: PRINT, DISPLAY, SHOW  Perhitungan: COMPUTE, CALCULATE, DETERMINE  Inisialisasi: SET, INIT  Counter: INCREMENT, DECREMENT, DELAY 2. While, digunakan untuk menyatakan perulangan dengan pengujian kondisi diawal (*lebih sesuai untuk perulangan tanpa batas yang tetap) Contoh:  3. If-Then-Else, digunakan untuk menyatakan persyaratan lojik kebenaran atau disebut BOOLEAN.
  • 14. Algoritma Pemrograman Page 13  4. Repeat-Until, digunakan untuk menyatakan perulangan dengan pengujian kondisi akhir.  5. For, digunakan untuk menyatakan perulangan dengan batasan range sejumlah angka tertentu.  6. Case, digunakan untuk pilihan kondisi tertentu,  Aturan dasar Penulisan pseudocode: 1. Lebih mudah gunakan huruf kapital untuk menyatakan fungsi atau prosedur. 2. Gunakan huruh kecil untuk penulisan variable
  • 15. Algoritma Pemrograman Page 14 Contoh pseudocode Memasak mi Goreng Contoh lain :
  • 16. Algoritma Pemrograman Page 15 Dari uraian dan penjelasan diatas, bisa disimpulkan bahwa flowchart dan pseudocode sangat dibutuhkan dalam langkah-langkah pembuatan program. Dengan flowchart dan pseudocode, kita bisa lebih mudah untuk pembuatan program yang dirancang atau diinginkan.
  • 17. Algoritma Pemrograman Page 16 BAB 3 TIPE DATA Target Pencapaian : Mahasiswa Memahami jenis-jenis tipe data
  • 18. Algoritma Pemrograman Page 17 Tipe Data Tipe data adalah klasifikasi variabel untuk menentukan bentuk keadaan data yang akan disimpan dalam memori dan jenis operasi apa yang dapat dilakukan oleh variabel tersebut. variabel memiliki 3 jenis tipe data yaitu Variabel Numerik, Variabel Text dan Boolean. Variabel Numerik : Memungkinkan kita untuk menyimpan data dalam bentuk bilangan. Variabel numerik dapat dibagi menjadi beberapa bagian yaitu : Bilangan Bulat (Integer “int”), Bilangan Desimal Berpresisi Tunggal (Floating Point “float”). Bilangan Desimal Berpresisi Ganda (Double Precision “double”). Variabel Text : memungkinkan kita untuk menyimpan data dalam bentuk Karakter. Bahasa Pemrograman C++ menyediakan beberapa tipe data dasar seperti Char (Character / Karakter Tunggal) dan String (Kumpulan Katakter dan Kata). Boolean : pada Bahasa Pemrograman C++ ditulis dengan menulisan “bool” merupakan jenis yang hanya dapat mewakili satu dari dua pilihan yaitu 1 (True) atau 0 (False). Tipe data yang umum digunakan : Tipe Data Bentuk Penulisan Boolean bool Character char Integer int Floating Point float Double Floating Point double String string Valueless void Dari tipe data di atas bisa kita modifikasi menggunakan Modifiers Type untuk memberikan fungsi lebih kepada Variabel.
  • 19. Algoritma Pemrograman Page 18 Modifiers Type Fungsi signed Untuk membuat Tipe Data Numerik menjadi Negatif unsigned Untuk membuat Tipe Data Numerik menjadi Positif short Pemesanan Jarak dan Ukuran memori lebih Kecil long Pemesanan Jarak dan Ukuran memori lebih Besar Setiap tipe data memiliki besar memori yang berbeda dengan yang lain. Ketika kita sedang membuat variabel, kita sebenarnya sedang memesan memori untuk penyimpanan kepada komputer sebesar tipe data yang digunakan. Di bawah ini adalah tabel keterangan detail mengenai masing- masing Tipe Data termasuk Tipe Data yang menggunakan Tipe Modifikasi. keterangan cara penulisan dan mengenai seberapa besar memori yang akan digunakan untuk penyimpanan. 3.1. Daftar Lengkap Tipe data C++ Tipe Data Bentuk Penulisan Ukuran Memori Integer int 4 byte = 32 bit signed int 4 byte = 32 bit signed short int 2 byte = 16 bit signed long int 4 byte = 32 bit signed long long int 4 byte = 32 bit unsigned int 4 byte = 32 bit unsigned short int 2 byte = 16 bit unsigned long int 4 byte = 32 bit unsigned long long int 4 byte = 32 bit Floating Point float 4 byte = 32 bit Double Floating Point double 8 byte = 64 bit long double 12 byte = 96 bit Boolean bool 1 byte = 8 bit Character char 1 byte = 8 bit (C++ 11) char16_t 2 byte = 16 bit (C++ 11) char32_t 4 byte = 32 bit wchar_t 2 byte = 16 bit unsigned char 1 byte = 8 bit signed char 1 byte = 8 bit String string 4 byte = 32 bit Pointer Null (C++ 11) decltype(nullptr) 4 byte = 32 bit Valueless void 1 byte = 8 bit
  • 20. Algoritma Pemrograman Page 19 Tetapi Untuk ukuran memori mungkin bisa bebeda-beda pada setiap komputer yang anda gunakan. Untuk melihat pasti ukuran memori setiap tipe data pada komputer anda, Anda sbisa menggunakan fungsi “sizeof()” untuk memeriksanya besar memori. Fungsi “sizeof()” biasanya digunakan untuk mengetahui besar memori dari tipe data, variabel, object dan semua deklarasi yang dapat memakan memori pada komputer. 3.2. Contoh Implementasi Tipe Data Tulis kode berikut ini :
  • 21. Algoritma Pemrograman Page 20 3.2. Fungsi dan Cara penggunaan macam-macam dasar Tipe Data Boolean (bool) Boolean adalah salah satu tipe data yang hanya memiliki dua pilihan yaitu True (1) atau False (0). Tipe data ini biasanya digunakan untuk memberikan kepastian dan memastikan kebenaran dari sebuah operasi atau kondisi program. Bentuk Penulisan : bool daftar_variabel = inisialisasi; Contoh Deklarasi : bool pilihan=0; // Contoh mendirikan variable Boolean dengan inisialisasi 0 = false. Contoh Program : Character (char) Char Adalah salah satu tipe data sembarang huruf, angka, dan simbol. Yang memungkinkan kita untuk memesan memori berformat text dengan karakter tunggal seperti „a‟, „$‟ dan lain-lain. Bentuk Penulisan : char nama_variabel[array] = inisialisasi ;
  • 22. Algoritma Pemrograman Page 21 untuk array di dalam sepasang tanda “[“ dan “]”, anda dapat tidak untuk menggunakanya. Tipe data char hanya dapat menyimpan data berbentuk karakter dan hanya satu karakter. Bagian [array] digunakan untuk menentukan deret jumlah memori yang akan kita pesan, yang akan memungkinkan kita dapat menyimpan data dalam bentuk rangkaian huruf atau rangkaian kata (lebih dari satu karakter), satu karakter biasanya akan menempati satu memori yang kita pesan dan dalam peraturan pemesanan variabel char berderet harus mempunyai satu memori tambahan dari jumlah karakter. Hal ini akan penulis jelaskan lebih dalam di artikel selanjutnya. Contoh Program : Integer (int) Integer adalah salah satu tipe data numerik yang memungkinakn kita untuk menyimpan data dalam bentuk bilangan bulat. Bentuk penulisan : int daftar_variabel = inisialisasi; Contoh Deklarasi : int bilangan = 10;
  • 23. Algoritma Pemrograman Page 22 Contoh Program : Float Point (float) Float adalah salah satu tipe data Numerik yang memungkinkan untuk menyimpan nilai dalam memori bersifat bilangan pecahan atau real, maupun eksponensial. Bentuk Penulisan float daftar_variabel = inisialisasi: Contoh Deklarasi float p=3,14:
  • 24. Algoritma Pemrograman Page 23 Double Floating Point (double) Double sama seperti float adalah salah satu tipe data yang bersifat menyatakan bilangan pecahan atau real, maupun eksponensial. Bedanya adalah penyimpanan angka masimal lebih besar daripada float otomatis double juga akan membutuhkan memori yang lebih besar. Bentuk penulisan double daftar_variabel = inisialisasi; Contoh deklarasi double angka = 3.14; Contoh Program : String (string) Merupakan tipe data Text yang memungkinkan kita menyimpan nilai dengan bentuk text, kumpulan dari character. Berbeda dengan char array, Tipe data string kita tidak perlu untuk menentukan jumlah digit pada saat deklarasi variabel. Bentuk penulisan string daftar_variabel = inisialisasi; Bentuk penulisan string kalimat = ”Selamat Belajar C++” ;
  • 25. Algoritma Pemrograman Page 24 Contoh Program : Valueless (void) Void adalah salah satu tipe data yang berarti “tidak ada” atau “tidak mempunyai tipe data”. Void masih di dalam katagori tipe data tetapi kita tidak bisa menggunakanya pada variabel biasa, void biasanya digunakan pada function yang tidak mempunyai return value “void myFunction()”, pada function parameter yang tidak mempunyai parameter “void myfunction(void)” dan pada pointer “void *myPointer;”.
  • 26. Algoritma Pemrograman Page 25 BAB 4 PENCABANGAN Target Pencapaian : Mahasiswa Memahami Bentuk Pencabangan, Terapan Bentuk If, Bentuk Umum Case
  • 27. Algoritma Pemrograman Page 26 Pernyataan IF adalah salah satu pernyataan penyeleksian yang memungkain kita memanipulasi aliran jalanya program berdasarkan conditional expression. Hal ini dapat memungknkan kita membuat program yang berjalan secara fleksibel sesuai keinginan dari pengguna. Penyeleksian if adalah pernyataan penyeleksian yang mencari kebenaran dari conditional expression yang disebutkan. Dengan arti lain conditional expression harus berupa bilangan Boolean atau operasi yang menghasilkan bilangan Boolean. Ketika mesin eksekusi bertemu dengan penyeleksian if maka CPU akan memeriksa kebenaran dari conditional expression yang tercantum, jika 1 (true) maka perintah yang ada dibawahnya akan dijalankan, jika 0 (false) maka akan memeriksa pernyataan else if (jika ada), hal itu dilakukan berulang satu demi satu hingga menemukan kondisi yang bernilai 1 (true). Jika tidak ditemukan maka akan melakukan perintah pernyataan else. Jika else tidak ada maka pernyataan if secara keseluruhan akan diabaikan. If(Kondisi){ Pernyataan; }else if(Kondisi){ Pernyataan; }else{ Pernyataan; } Secara keutuhan penyataan penyeleksian if memiliki bentuk struktur seperti di atas. Dan juga ada bagian yang termasuk sebagai tambahan (anda bebas untuk menyertakan atau tidak) yaitu else if dan else. setiap bentuk dari pernyataan if memiliki nama sendiri-sendiri.
  • 28. Algoritma Pemrograman Page 27 4.1. Bentuk Pernyataan IF If(Kondisi){ Pernyataan; } Bentuk Pernataan IF-ELSE If(Kondisi){ Pernyataan; }else{ Pernyataan; } Bentuk Pernyataan IF-ELSE Majemuk If(Kondisi){ Pernyataan; }else if(Kondisi){ Pernyataan; }else{ Pernyataan; } jika pernyataan merupakan pernyataan tunggal sebagai perintah pernyataan if kita tidak diwajibkan menggunakan sepasang tanda kurung kurawal. If(Kondisi) Pernyataan; else if(Kondisi) Pernyataan; else Pernyataan; Hal itu dapat dilakukan, compiler akan menganggap bahwa apapun pernyataan, satu pernyataan setelah pernyataan if / else if / else akan dianggap sebagai substatement atau badan dari pernyataan tersebut. Kondisi setelah keyword if atau else if adalah tempat dimana anda menaruh sebuah ekspresi seperti perbandingan, logika dan lain-lain yang
  • 29. Algoritma Pemrograman Page 28 menghasilkan bilangan Boolean. Hal itu karena pernyataan if hanya bekerja berdsarkan bilangan Boolean. Jika evaluasi ekspresi bernilai 1 (benar) sesuai kondisi maka program akan melaksanakan perintah(pernyataan) di bawahnya. Jika tidak maka akan diabaikan dan beralih ke pilihan lain atau keluar dari pernyataan penyeleksian IF. Else if adalah pilihan alternative dari penyeleksian untuk mencari kondisi yang diinginkan, else if sama seperti pernyataan if hanya berbeda pada penempatanya, setiap pilihan alternative menggunakan kata kunci else if setelah pernyataan IF pertama. Else adalah pilihan terakhir yang akan dijalankan jika semua pilihan tidak sesuai dengan kondisi yang ada. Else merupakan pernyataan opsional untuk digunakan berdsarkan kebutuhan, jika tidak menggunakan pernyataan else maka pernyataan if tersebut akan diabaikan. Contoh Program : #include <iostream> using namespace std ; int main() { int nomer ; cout<<" Masukkan [1/2/3] : ";cin>>nomer; if (nomer<=0){ cout<<"kurang dari 1"<<endl; }else if(nomer==1){ cout<<"1"<<endl; }else if(nomer==2){ cout<<"2"<<endl; }else if(nomer==3){ cout<<"3"<<endl; }else{ cout<<"lebih dari 3"<<endl; } return 0 ; } Cara kerja CPU dalam melaksanakan pernyataan if adalah, pertama CPU masuk dan mengevaluasi ekspresi yang tertera pada pernyataan if, jika bernilai 1 (true) maka pernyataan-pernyataan di bawah pernyataan if akan
  • 30. Algoritma Pemrograman Page 29 dijalankan, setelah dijalankan maka CPU akan keluar dari keseluruhan pernyataan if. jika 0 (false) dan disertakan pernyataan else if maka CPU akan mengevaluasi ekspresi pada else if, jika 1 (true) akan dijalankan jika 0 (false) akan beralih ke-lainnya, hal itu terjadi berulang-ulang. jika dari semua pilihan tersebut tidak ada yang 1 (true) maka pernyataan secara keseluruhan if akan diabaikan atau menjalankan pernyataan else jika disertakan. Pembacaan Program, CPU akan mengalir dari atas kebawah, jika telah menemukan kondisi yang 1 (true) maka akan dijalankan dan keluar dari keseluruhan pernyataan if, tidak peduli jika ada pilihan alternative lainnya yang memiliki kondisi yang juga 1 (true). 4.2. Nested IF Merupakan hal yang dimungkinkan dalam bahasa pemrograman C++ yaitu membuat pernyataan IF di dalam pernyataan IF. hal ini dapat memungkinkan anda untuk membuat tahapan penyeleksian. Contoh Penulisan if(kondisi){ if(kondisi){ pernyataan; }else if{ pernyataan; }else{ pernyataan; } }else if (kondisi){ if(kondisi){ pernyataan; }else if{ pernyataan; }else{ pernyataan; } }else{ if(kondisi){ pernyataan; }else if{
  • 31. Algoritma Pemrograman Page 30 pernyataan; }else{ pernyataan; } } Contoh Kasus : Suatu perusahaan menjual pakaian dengan ketentuan sebagai berikut:  Jika kode buku =1 maka judulBuku = belajarcpp.com, dengan kode Diskon = „S‟, maka harganya 45000, Jika kode Diskon bukan s maka harganya 50000.  Jika kode buku = 2 maka judulBuku = belajarcpp.com, dengan code Diskon= „S‟, maka harganya 65000, Jika code Diskon bukan s maka harganya 70000.  Jika user memasukan kode Selain kode Buku diatas, maka akan mencetak “salah memasukan kode”. Penyelesaian : #include <iostream> #include <string.h> using namespace std; int main( ){ char kode,kodeDiskon,namaBuku[30]; long harga=0; cout<<"Kode Buku : ";cin>>kode; cout<<"Kode Diskon : ";cin>>kodeDiskon; if (kode == '1') { strcpy(namaBuku,"Belajarcpp.com"); if (kodeDiskon=='S' || kodeDiskon =='s'){ harga=45000; } else { harga = 50000; } } else if (kode=='2') { strcpy(namaBuku,"Belajar C++");
  • 32. Algoritma Pemrograman Page 31 if (kodeDiskon=='S' || kodeDiskon=='s'){ harga=65000; } else { harga = 70000; } } else { cout<<"Salah Kode Buku"<<endl; } cout<<"----------------------"<<endl; cout<<"Judul Buku : "<<namaBuku<<endl; cout<<"Harga Buku : "<<harga<<endl; return 0; }
  • 33. Algoritma Pemrograman Page 32 BAB 5 PERULANGAN Target Pencapaian : Mahasiswa Memahami Konsep Perulangan, Jenis Perulangan, Perulangan Bersarang
  • 34. Algoritma Pemrograman Page 33 5.1. Pernyataan FOR Pernyataan pengulangan FOR adalah pernyataan yang dapat memanipulasi aliran pengeksekusian CPU dan memungkinkan kita untuk membuat program yang berjalan dengan dinamis berdsarkan keinginan pengguna. Pernyataan pengulangan FOR berfungsi untuk melakukan pengeksekusian beberapa pernyataan secara berulang-ulang. Dan merupakan pernyataan pengulangan yang sangat umum dan sering digunakan oleh para programmer C++. Secara garis besar pernyataan FOR dan WHILE memiliki fungsi dan kerja yang mirip tapi. Jika dalam pernyataan WHILE dibutuhkan satu ekspresi sebagai conditional expression yang bertugas untuk penentu jalanya pengulangan. Dan hal tersebut adalah perbedaan antara FOR dan WHILE. FOR adalah pernyataan pengulangan yang dikhususkan untuk pengulangan yang secara tepat mengetahui berapa kali pengulangan akan terjadi. Bentuk Penulisan : for (init-statement; condition-expression; end-expression){ Pernyataan; } Untuk membuat pernyataan FOR dibutuhkan keyword “for” untuk memulainya, diikuti dengan 3 ekspresi di dalam tanda kurung. Setiap ekspresi dipisahkan dengan tanda titik koma ( ; ). Ketiga ekspresi tersebut digunakan untuk penentu jalanya pengulangan, masing-masing memiliki peran yang berbeda.
  • 35. Algoritma Pemrograman Page 34 init-statement umumnya adalah tempat dimana sebuah variabel didirikan dan diinisialisasi. Karena tempat itu adalah tempat yang akan dievaluasi satu kali ketika pernyataan FOR dimulai. condition-expression adalah sebuah ekspresi penentu jalanya pengulangan, yang merupakan bilangan Boolean atau operasi yang menghasilkan bilangan Boolean. Jika ekspresi bernilai 1 (true) maka pengulangan akan terjadi tapi jika bernilai 0 (false) maka pengulangan akan berhenti atau pengulangan for akan diabaikan. end-expression adalah tempat dimana sebuah operasi penaikan atau penurunan dari variabel pada init-statement. Setelah pernyataan di badan pengulangan for dilakukan maka end-expression akan dievaluasi. Dan di dalan badan pengulangan for terdapat beberapa pernyataan sebagai perintah atau aksi yang harus dilakukan oleh CPU jika pengulangan terjadi. Jika terdapat banyak pernyataan maka diwajibkan untuk mengurungnya dengan sepasang tanda kurung kurawal, jika hanya terdapat satu pernyataan kita bisa untuk tidak menggunakan sepasang tanda kurung kurawal. Contoh program : #include <iostream> using namespace std; int main() { for(int i=1;i<=10;i++){ cout<<i<<endl; } return 0; }
  • 36. Algoritma Pemrograman Page 35 Di atas adalah contoh penggunaan pernyataan for. Program di atas akan menampilkan keluaran angka 1 sampai 10 secara berurutan. Ketika CPU bertemu dengan pernyataan for, maka langkah pertama CPU adalah mengevaluasi init-statement, dan melakukan perintahnya. Biasanya init-statement digunakan untuk mendeklarasi dan inisialisasi variabel secara bersamaan atau juga bisa memberi nilai pada variabel yang sudah ada. Dan pada contoh di atas dilakukan pembuatan variabel dengan nilai inisialisasi 1. Evaluasi init-statement hanya akan dilakukan satu kali di awal mulainya pernyataan FOR. Langkah kedua CPU adalah mengevaluasi nilai dari condition-expression, biasanya diisi dengan sebuah ekspresi berbentuk bilangan Boolean atau operasi yang menghasilkan bilangan Boolean. Jika condition-expression bernilai 0 (false) maka pengulangan tidak akan terjadi (diabaikan), jika bernilai 1 (true) maka CPU akan mengeksekusi pernyataan pada badan pernyataan FOR. Langkah ketiga CPU adalah mengevaluasi end-expression, merupakan tempat dimana dilakukan penaikan atau penurunan variabel pada init- statement. Langkah keempat CPU adalah kembali mengevaluasi condition- expression. Jika condition-expression bernilai 0 (false) maka pengulangan akan dihentikan, jika bernilai 1 (true) maka langkah kedua CPU sampai langkah keempat CPU akan dilakukan berulang kali hingga condition- expression bernilai 0 (false).
  • 37. Algoritma Pemrograman Page 36 Contoh program : #include <iostream> using namespace std; int main() { int sampai = 0; cout<<"Lakukan penghitungan sampai : ";cin>>sampai; for(int i=1;i<=sampai;i++){ cout<<i<<endl; } return 0; } Menghilangkan Ekspresi Dalam bahasa pemrograman C++ kita dimungkinkan untuk tidak menggunakan salah satu ekspresi atau semua ekspresi pada pernyataan for. Jika pernyataan FOR tidak menggunakan init-statement maka pernyataan FOR akan tetap bisa berjalan tanpa melakukan inisialisasi pada awal sebelum pengulangan. Jika pernyataan FOR tidak menggunakan condition-expression, pernyataan for akan melakukan pengulangan tak berhingga, meskipun condition-expression ditinggalkan kosong maka CPU akan tetap melakukan pengulangan (dianggap bernilai true). Jika pernyataan for tidak menggunakan end-expression, Maka pernyataan for akan tetap berjalan tanpa adanya operasi di antara proses pengulangan terjadi. Jika pernyataan FOR tidak menggunakan semua ekspresi maka pengulangan for akan menjadi pengulangan tak terhingga.
  • 38. Algoritma Pemrograman Page 37 Contoh program : #include <iostream> using namespace std; int main() { int i = 0; for(;;i++){ cout<<i<<endl; } return 0; } 5.2. Nested FOR Sebenarnya dalam semua bentuk pernyataan pengulangan atau penyeleksian kita dimungkinkan untuk membuat sebuah pernyataan di dalam pernyataan. Dan untuk pernyataan FOR kita dimungkinkan untuk membuat penyataan FOR di dalam pernyataan FOR. Contoh Program : #include <iostream> using namespace std; int main() { int banyak = 0; cout<<"Berapa banyak : ";cin>>banyak; for(int i=1;i<=banyak;i++){ for(int j=1;j<=i;j++){ cout<<j<<" "; } cout<<endl; } } 5.3. Pernyataan Do..While Do-while adalah salah satu pernyataan pengulangan yang memungkinkan kita untuk membuat program yang berjalan secara fleksibel berdsarkan keinginan pengguna. Do-while berfungsi untuk mengulangi
  • 39. Algoritma Pemrograman Page 38 pengeksekusian beberapa pernyataan berdsarkan conditional expression yang ada. Do-while berbeda dengan pernyataan while. Do-while saat pertama kali akan mengeksekusi pernyataannya terlebih dahulu, setelah itu baru akan memeriksa conditional expression. Contoh Penulisan do{ pernyataan; … }while(kondisi); Di atas adalah penulisan pernyataan pengulangan do-while. Untuk membuat pernyataan do-while diawali dengan keyword “do” dan setelah itu diikuti dengan penulisan pernyataan sebagai perintah yang harus dilakukan oleh CPU. Perintah tersebut dikurung dengan tanda kurung kurawal, tapi jika perintah atau badan dari pernyataan do-while hanya mengandung 1 pernyataan kita tidak diwajibkan untuk menggunakan sepasang tanda kurung kurawal. setelah semua itu, pada bagian kaki pernyataan do-while terdapat keyword “while” dan diikuti dengan conditional expression yang dikurung dalam sepasang tanda kurung. Dan disertakan tanda titik koma ( ; ) pada akhir pernyataan do-while. Kondisi merupakan conditional expression adalah tempat dimana kita menuliskan ekspresi dalam bentuk bilangan Boolean atau operasi yang menghasilkan bilangan Boolean. Jika conditional expression bernilai 1 (true) maka pengulangan akan terjadi jika 0 (false) maka pengulangan tidak akan terjadi atau berhenti.
  • 40. Algoritma Pemrograman Page 39 Aliran pernyataan pengulangan do-while Di atas adalah gambar bentuk cara kerja CPU dalam pernyataan Do- while. Pada saat CPU bertemu penyataan pengulangan Do-while. Pada saat pertama kali CPU memasuki pernyaaan do-while CPU akan langsung mengeksekusi pernyataan-pernyataan yang berada pada badan dari pernyataan do-while. Untuk pengulangan kedua kali dan seterusnya CPU akan memeriksa conditional expression. Jika conditional expression bernilai 1 (true) maka akan kembali untuk mengeksekusi pernyataan tersebut, hal itu akan berlangsung berulang-ulang hingga conditional expression bernilai 0 (false) dan keluar dari pernyataan do-while sepenuhnya. Perbedaan while dengan do-while terlihat sangat jelas. jika pernyataan while, untuk dapat mengeksekusi pernyataan di dalam while dibutuhkan conditional expression bernilai 1 (true). Jika conditional expression bernilai 0 (false), maka pernyataan while secara keseluruhan akan diabaikan. Berbeda dengan pernyataan do-while, CPU akan melangsanakan pernyataan pada pernyataan do-while untuk pertama kalinya, meskipun
  • 41. Algoritma Pemrograman Page 40 conditional expression bernilai 0 (false). Karena cara kerja do-while adalah mengeksekusi pernyataan pada do-while setelah itu memeriksa nilai pada conditional expression. Hal itu berarti pernyataan di dalam pernyataan do- while tidak akan pernah diabaikan. Contoh Program #include <iostream> using namespace std; int main() { int pilihan = 1; do{ cout<<"Masukan nomer : ";cin>>pilihan; }while(pilihan<=10); return 0; }
  • 42. Algoritma Pemrograman Page 41 BAB 6 ARRAY Target Pencapaian : Mahasiswa Memahami Tipe Data Array, Array Multidimensi
  • 43. Algoritma Pemrograman Page 42 5.1. Pengertian Array Array atau Larik adalah sebuah variabel yang memiliki serangkaian elemen dari jenis tipe data yang sama. Elemen-elemen tersebut dirangkai di dalam memori yang berdekatan dengan elemen lainya. konsep ini mirip seperti struct dan class yang dapat merupakan kumpulan dari variabel, perbedaan dengan mereka adalah array merupakan kumpulan variabel dengan satu indentifier dan satu tipe data yang sama, dan dalam istilah- istilah array kumpulan dari variabel tersebut adalah elemen. Bayangkan bahwa jika pembaca sedang bekerja membuat program untuk suatu organisasi sekolah, tepatnya digunakan untuk mendata nilai-nilai dari siswa pada suatu kelas, dan dalam satu kelas terdapat 50 anak. Dengan arti kita membutuhkan 50 tempat penyimpanan (variabel). double nilai1, nilai2, nilai3 …….nilai50; mungkin untuk pembaca yang baru mengenal dunia programmer akan berpikiran untuk membuat 50 variabel secara individu seperti pernyataan di atas. Cara di atas adalah sangat-sangat tidak efektif atau salah. Bagaimana jika satu kelas tidak selalu memiliki 50 anak, mungkin di masa depan akan memiliki murid lebih dari 50 anak di dalam kelas. Dengan arti program itu akan selalu membutuhkan modifikasi, bukan hanya pada variabel tersebut tapi keseluruhan program, seperti input, proses dan output. Untungnya, dalam bahasa pemrograman C++ dan hampir semua bahasa pemrograman, menyediakan fitur yang bernama “Array” atau “Larik”.
  • 44. Algoritma Pemrograman Page 43 Array memungkinkan kita untuk membuat sebuah variabel yang dapat menyimpan banyak nilai. Di dalam array terdapat banyak elemen yang merupakan tempat untuk penyimpanan setiap nilai. Bentuk Penulisan tipeData identifier[ukuran]; untuk mendirikan sebuah variabel array sama seperti kita mendirikan sebuah variabel biasa yang dimana membutuhkan tipe data, identifier, dan titik koma. Untuk merubah variabel biasanya menjadi variabel array adalah dengan menambahkan operator subscript ( [] ). Untuk parameter di dalam operator subscript disebut sebagai index atau subscript, tempat dimana kita memberitahukan compiler berapa jumlah variabel yang akan di alokasi sesuai yang kita inginkan. dan dalam array, istilah dari banyak variabel yang dialokasi itu disebut sebagai elemen. Contoh Penulisan int nilai[50]; Di atas adalah contoh penulisan dari penggunaan array, variabel di atas memiliki identifier “nilai” bertipe data integer sebanyak 50 elemen. Tersebut memungkinkan kita untuk menyimpan 50 nilai berbeda dalam satu identifier variabel “nilai”. Pernyataan di atas dinamakan Array statis atau Fixed array, karena kita mendirikan variabel array dengan menggunakan konstanta bernilai 50 sebagai index saat punulisan program. Dan pemberian index hanya dapat dilakukan menggunakan konstanta dan dilakukan sebelum kompilasi (Compile-time), tidak saat program berjalan (Runtime).
  • 45. Algoritma Pemrograman Page 44 Untuk mendirikan sebuah variabel array dibutuhkan tipe data, identifier dan index di dalam subscript. Setiap tipe data untuk mendirikan variabel, dimungkinkan untuk digunakan pada array. untuk identifier kita bebeas dalam memberikan identitas tapi harus di bawah peraturan pembuatan identitas yang telah penulis jelaskan. Untuk index adalah tempat dimana sebuah konstanta diletakan sebagai penentu banyaknya elemen. 5.2. Inisialisasi Array Saat mendirikan variabel array kita juga dimungkinkan untuk memberi nilai saat deklarasi variabel array secara bersamaan, inisialisasi array disebut sebagai “Initializer list”. apa yang kita butuhkan untuk inisialisasi sebuah variabel array adalah sepasang tanda kurung kurwal yang mengapit semua nilai tersebut. Contoh Penulisan int grade[50] = {100, 90, 80, 70, 60, 50, 40, 30, 20, 10}; di atas adalah contoh dari cara inisialiasi sebuah variabel array yang memiliki 50 elemen. Untuk melakukan inisialisasi kita membutuhkan tanda sama dengan setelah itu nilai dari setiap elemen. Nilai-nilai setiap elemen akan di kurung di dalam sepasang tanda kurung kurawal. Setiap nilai dipisahkan dengan tanda koma. Contoh di atas adalah pernyataan yang valid, meskupun variabel tersebut memesan 50 elemen tetapi penulis hanya memberikan 10 nilai. Dari 10 nilai tersebut akan mengisi elemen pertama hingga ke sepuluh. Untuk elemen 10 sampai 50 akan di inisialisasi dengan nilai “0” atau kosong. Inisialisasi adalah sebuah pilihan, kita bebas untuk membuat variabel dengan inisialisasi atau tanpa inisialisasi. seperti apa yang telah penulis jelaskan pada artikel tentang “Inisialisasi”. inisialisasi variabel itu penting
  • 46. Algoritma Pemrograman Page 45 meskipun tidak wajib. Jika variabel array di atas tidak melakukan inisialisasi maka otomatis setiap elemen akan mengandung nilai acak yang berasal dari pengguna memori sebelumnya. Mendeklarasikan tanpa ukuran array Pada bahasa pemrograman C++ dalam mendirikan sebuah variabel array kita dimungkinkan untuk mendirikan variabel array tanpa menyertakan ukuran, hanya operator subscript tanpa nilai di dalamnya. Tapi untuk melakukan hal itu, kita diwajibkan untuk menyertai dengan inisialisasi. bukan berarti jika variabel array tidak menggunakan ukuran akan memiliki elemen yang dinamis. Variabel array denngan cara tersebut masih dalam golongan variabel array statis. Dan compiler selalu akan membutuhkan ukuran array untuk alokasi (elemen) yang dibutuhkan. Ketika kita mendeklarasikan sebuah variabel array tanpa ukuran array, maka ukuran dari variabel array tersebut otomatis akan dihitung berdasarkan jumlah nilai pada proses inisialisasi. Contoh Penulisan int nilai[]={2,4,7,9} pada contoh penulisan di atas compiler akan mendeklarasikan sebuah variabel array yang memiliki 4 elemen yang dihitung berdsarkan jumlah nilai pada proses inisialisasi. Mengakses Variabel Array Untuk mengakses variabel array tidak jauh beda dengan cara mengakses variabel biasa, untuk mengakses variabel array membutuhkan Operator subscript ( [] ) dengan index di dalamnya yang diletakan setelah identitas variabel.
  • 47. Algoritma Pemrograman Page 46 Contoh Penulisan grade[2]; contoh di atas akan mengakses elemen ketiga dari variabel “grade”. Index yang berada di dalam subscript digunakan untuk mengakses nilai elemen berdasarkan konstanta yang diberikan. Pada contoh di atas kita mencoba untuk mengakses elemen keiga dari variabel “grade”. Bahasa pemrograman C++ tepatnya pada fitur array selalu menggunakan bilangan cacah (bilangan dimulai dari 0). Dan setiap elemen yang kita pesan akan di nomori berdasarkan urutan dari 0 sampai sebanyak yang kita pesan. Misalnya kita memesan grade[50] maka elemen pertama berada pada urutan nomer 0 dan elemen terakhir berada pada urutan 49. Elemen pada array Jika kita menuliskan nomer 10 maka elemen yang akan di akses adalah elemen nomer urut nomer 11. Contoh Program #include <iostream> using namespace std; int main () { char grade[3]={}; grade[0] = 'a'; grade[1] = 'b'; grade[2] = 'c';
  • 48. Algoritma Pemrograman Page 47 cout<<"0 : "<<grade[0]<<endl; cout<<"1 : "<<grade[1]<<endl; cout<<"2 : "<<grade[2]<<endl; return 0; } Hati-hati dalam mengakses array, dalam pemrograman C++ kita dimungkinkan untuk mengakses elemen dari array yang bukan merupakan anggota array tersebut. misalnya kita mencoba akses index nomer 50, tetapi variabel array itu sendiri hanya memiliki 10 elemen. Kita dimungkinkan untuk mengakses index dari array meskipun bukan merupakan anggota dari variabel array tersebut. itu dapat di lakukan tapi hal itu dilarang untuk dilakukan. Karena apa yang coba kita akses bukan merupakan memori milik program anda. Bisa saja memori tersebut dimiliki oleh program lain. Pengulangan dengan Array Pada contoh program di atas kita mengunakan pernyataan tunggal untuk mengakses setiap elemen array. jika array memiliki 50 elemen bukan berarti kita harus membuat 50 pernyataan tunggal untuk mengakses setiap elemen tersebut. termasuk penyuntingan ketika anda merubah index array. Untuk mengakses array secara dinamis, tidak memerlukan banyak waktu untuk membuat pernyataan menyunting program jika ada perubahan pada array. kita dapat memanfaatkan pernyataan pengulangan. Contoh Program #include <iostream> using namespace std; int main ()
  • 49. Algoritma Pemrograman Page 48 { const int MAX_ARRAY = 5; string nama[MAX_ARRAY]={}; for(int i=0;i<MAX_ARRAY;++i){ cout<<"Masukan Nama : ";cin>>nama[i]; } cout<<endl<<"=== Daftar Nama ==="<<endl; for(int i=0;i<MAX_ARRAY;++i){ cout<<(i+1)<<". "<<nama[i]<<endl; } return 0; } Pernyataan pengulangan FOR memang merupakan pernyataan yang efektif untuk digunakan dan sering digunakan oleh para programmer dalam mengelolah variabel array. di atas adalah program yang akan meminta 5 nama dan nama tersebut akan di tampilkan di bawahnya sebagai daftar nama. Program di atas mencontohkan program yang cukup efisien. Jika kita ingin mengubah banyak elemen pada array, apa yang harus dilakukan hanyalah mengubah nilai pada variabel konstanta “MAX_ARRAY”. Array sebagai Parameter Function Variabel array sebagai parameter di function akan berbeda dengan variabel sebagai parameter pada umumnya. Jika anda mengikuti pembelajaran pada belajarcpp.com, penulis menyadari bahwa materi function belum penulis sampaikan di beberapa materi sebelumnya. Jadi penulis menyarankan anda untuk mengerti hal ini sebagai sebuah teori. Jadi ketika anda bertemu dengan materi function, anda akan tau apa yang akan terjadi ketika parameter dalam function tersebut adalah variabel array. Sifat parameter pada umumnya adalah menyalin nilai dari variabel yang diajukan sebagai argument. Jadi di antara variabel parameter dengan
  • 50. Algoritma Pemrograman Page 49 variabel asli tidak saling berhubungan. Ketika anda mencoba mengubah nilai pada pada parameter maka variabel asli tidak akan terpengaruh, begitu pula sebaliknya. Tapi jika parameter itu merupakan array, dan jika anda mencoba untuk mengubah nilai dari salah satu variabel maka keduanya akan terpengaruh. Hal itu terjadi karena variabl array bisa sangat memakan banyak memori, untuk menghindari lamanya proses penyalinan dan pembekakan memori program, C++ membuat parameter array tidak menyalin nilai dari variabel array asli, tapi dia menyalin alamat memori pada variabel asli. Contoh Program #include <iostream> using namespace std; const int MAX_ARRAY = 5; void ubah(string str[]){ for(int i=0;i<MAX_ARRAY;++i){ str[i]="Berubah"; } } int main () { string nama[MAX_ARRAY]={}; for(int i=0;i<MAX_ARRAY;++i){ cout<<"Masukan Nama : ";cin>>nama[i]; } ubah(nama); cout<<endl<<"=== Daftar Nama ==="<<endl; for(int i=0;i<MAX_ARRAY;++i){ cout<<(i+1)<<". "<<nama[i]<<endl; } return 0; }
  • 51. Algoritma Pemrograman Page 50 Tambahan : Mengakses hanya menggunakan identitas Operator subscript dan nilai di dalamnya digunakan untuk mengakses elemen. Jika kita mencoba untuk mengakses sebuah variabel array tanpa menggunakan subscript maka apa yang akan kita dapat adalah alamat memori dari elemen pertama variabel array. Tapi berbeda dengan array C-Style String, array dengan tipe data char akan menampilkan sebuah string dari keseluruhan nilai pada setiap elemen. 5.1. Array Multidimensi Array adalah fitur dari bahasa pemrograman c++ yang memungkinkan kita untuk memesan banyak memori yang memiliki tipe data yang sama dengan hanya menggunakan satu identitas. Dalam variabel kita dimungkinkan untuk menggunakan array lebih dari satu buah, dan hal itu disebut sebagai Array Multidimensi. Untuk mengubah variabel biasa menjadi variabel array adalah dengan menambahkan operator subscript dengan ukuran di dalamnya, dalam C++ kita dimungkinkan untuk menggunakan banyak subscript, hal itu akan membuat variabel tersebut menjadi array multidimensi. Bentuk Penulisan tipeData identifier[array-1][array-2]….[array-n]; Array Dua Dimensi Untuk membuat sebuah variabel dengan array dua dimensi, kita membutuhkan dua buah operator subscript ( [] ) dengan masing-masing ukuran array.
  • 52. Algoritma Pemrograman Page 51 Bentuk Penulisan tipeData identifier[size1][size2]; Contoh Penulisan string nama[2][3]; array dua dmensi memungkinkan anda untuk menggunakan array di dalam array, setiap array memiliki array di dalamnya. Bagi penulis jujur saya sulit untuk menjelaskan array multidimensi. Tapi untuk array dua dimensi bisa digambarkan seperti sebuah tabel yang mempunyai baris dan kolom. Kita dapat membayangkan sebuah array dua dimensi seperti sebuah table yang memiliki baris dan kolom, untuk array atau subscript pertama adalah baris dan subscript kedua adalah kolom. Ilustrasi Array
  • 53. Algoritma Pemrograman Page 52 Inisialisasi Array Dua Dimensi Untuk menginisialisasi array dua dimensi adalah dengan cara menggunakan tanda kurung kurawal di dalam tanda kurung kurawal. string nama[3][2]={ {“joko”, “dadang”}, //baris ke satu dengan 2 kolom {“fajar”, “nick”}, // baris ke dua dengan 2 kolom {“laksono”, ”eren”} // baris ke tiga dengan 2 kolom } Tanda kurung kurawal pertama akan menyatakan keseluruhan array dari variabel, di dalamnya terdapat 3 sepasang kurung kurawal yang dipisahkan dengan tanda koma, yang menyatakan array dari subscript pertama. Di dalam masing-masing tanda subscript pertama berdiri 2 nilai sesuai ukuran array subscript kedua, masing-masing nilai dipisahkan dengan tanda koma. Untuk bentuk penulisan bebas menurut keinginan anda, seperti anda bisa menulis dalam satu baris atau seperti di atas, hal yang penting adalah penggunaan tanda-tanda baca dan cara penulisanya harus benar seperti di atas, bentuk penulisan di atas dibentuk seperti halnya sebuah tabel hanya untuk mempermudah kita dalam membaca nilai-nilai tersebut. Jika anda tidak mengisi salah satu cell atau semua cell maka anda akan menginisialisasi array dalam variabel array tersebut menjadi bernilai 0 atau kosong. string nama[3][2]={ {“joko”, “dadang”}, //baris ke satu dengan 2 kolom [1][1] = “joko”, [1][2]=”dadang” {“fajar”}, // baris ke dua dengan 2 kolom, [2][1] = “fajar”, [2][2] “” {} // menginisialisasi satu baris dengan angka 0, [3][1] = “”, [3][2]=”” }
  • 54. Algoritma Pemrograman Page 53 dan juga bisa seperti ini string nama[3][2]={} Deklarasi Variabel Array Multidimensi Tanpa Ukuran array multidimensi adalah array, kita masih dimungkinkan untuk mendeklarasi variabel array tanpa menyertakan ukuran dari array tersebut, ukuran otomatis akan terhitung berdasarkan jumlah nilai pada proses inisialisasi. Mengakses Array Dua Dimensi nama[2][1] untuk mengakses sebuah cell pada array dimensi dua, sama seperti kita mengakses array dimensi satu. Tapi disini kita membutuhkan dua subscript sebagai alamat cell tersebut. untuk dapat megakses setiap cell di dalam array dua dimensi dengan dinamis anda dapat menggunakan pernyataan pengulangan nested (nested loop). Contoh Program #include <iostream> using namespace std; const int MAX_ROW = 3; const int MAX_COL = 3; int main () { string nama[MAX_ROW][MAX_COL]={ {"joko", "dadang", “aziz”}, {"fajar", "nick"}, {"laksono", "eren"} };
  • 55. Algoritma Pemrograman Page 54 for(int i=0;i<MAX_ROW;++i){ for(int j=0;j<MAX_COL;++j){ cout<<"["<<(i+1)<<"]["<<(j+1)<<"]. "<<nama[i][j]<<endl; } } return 0; } Array Tiga Dimensi ke atas Jika pembaca sudah mengerti mengenai konsep dari array, anda akan dengan mudah untuk memodifikasi array, menambahkan beberapa subscript untuk menjadikanya array multidimensi. Secara garis besar, pembuatan, penggunaan, pengaksesan array multi dimensi memiliki konsep yang sama seperti apa yang telah penulis jelaskan di atas pada array dua dimensi. Pembekakan memori Pada artikel belajarcpp.com sebelemunya telah penulis sampaikan bahwa array bisa memakan banyak memori, terutama array multi dimensi. Karena apa yang kita pesan adalah berkali-kali lipat lebih besar dari variabel biasa. Misalnya anda mendirikan variabel array satu dimensi “int nomer[5]”, besar memori untuk membuat variabel integer adalah 4 byte (di beberapa komputer bisa berbeda-beda), dikali dengan jumlah elemen yaitu 5 elemen, berarti apa yang telah anda pesan adalah variabel dengan jumlah memori 20 byte. dan ada yang lebih memakan memori adalah saat anda memesan variabel array multi dimensi, misalnya anda memesan variabel empat dimensi “int nomer[3][4][5][2]”, dengan hitungan : int * 10 * 40 * 50 * 20 4 byte * 10 * 40 * 50 * 20 = 1600000 byte
  • 56. Algoritma Pemrograman Page 55 Jumlah itu merupakan jumlah yang tidak kecil, anda bisa membebani pogram anda dengan pembekakan memori, jadi saran penulis adalah ketika anda mendirikan variabel array berhati-hatilah dalam memesan jumlah elemen pada array tersebut, pesanlah sesuai yang anda butuhkan, jangan memesan memori terlalu banyak yang nantinya bisa menjadi memori yang tidak digunakan.
  • 57. Algoritma Pemrograman Page 56 BAB 7 PEMROGRAMAN MODULAR Target Pencapaian : Mahasiswa Memahami Jenis Variabel, Fungsi, Prosedur
  • 58. Algoritma Pemrograman Page 57 7.1. Pemrogaman Modular Pemrograman Modular adalah suatu teknik pemrograman di mana program yang biasanya cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih kecil sehingga akan mudah dipahami dan dapat digunakan kembali, baik untuk program itu sendiri maupun program lain yang memiliki proses yang sama. Poin-poin penting dalam pemrograman modular: a. Program dalam C++ dibagai menjadi beberapa bagian modul. b. Modul pada bahasa C++ dikenal dengan nama fungsi (function). c. Bahasa C terdiri dari fungsi-fungsi, baik yang langsung dideklarasikan dalam program ataupun dipisah di dalam header file. d. Fungsi yang selalu ada dalam C++ adalah fungsi main. e. Fungsi dibentuk untuk menyelesaikan tugas tertentu. f. Modul diperlukan jika perintah/coding tersebut diperlukan di tempat lain dalam program g. Modul sering disebut sub-program. Keunggulan Pemrograman Modular a. Program lebih pendek, singkat dan padat. b. Program menjadi lebih mudah dibaca dan dimengerti. c. Masalah yang kompleks dapat dijadikan masalah yang lebih sederhana. d. Mencari kesalahan lebih mudah karena alur logika lebih jelas. e. Kesalahan yang terjadi bersifat local. f. Modifikasi dapat dilakukan tanpa mengganggu program secara keseluruhan.
  • 59. Algoritma Pemrograman Page 58 Skema Pemrograman Modular 7.2. Pengertian Fungsi Fungsi (function) merupakan blok kode yang dirancang untuk melakukan tugas tertentu atau satu blok intruksi atau subprogram kecil yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program atau di sebut juga dengan modular programming. Kegunaan Fungsi a. Untuk mengurangi pengulangan penulisan program yang sama. b. Agar program menjadi lebih terstruktur sehingga mudah dipahami dan lebih mudah untuk dikembangkan. c. Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.. d. Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek. e. Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat. f. Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
  • 60. Algoritma Pemrograman Page 59 Keunggulan Fungsi a. Dapat melakukan pendekatan top-down dan divide-and conquer: b. Top-down: penelusuran program mudah c. Divide-and-conquer: program besar dapat dipisah menjadi program- program kecil. d. Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami e. Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah. f. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana g. Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja. h. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan i. Fungsi – fungsi menjadikan program mempunyai struktur yang jelas. j. Dengan memisahkan langkah – langkah detail ke satu atau lebih fungsi – fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti. k. Fungsi –fungsi digunakan untuk menghindari penulisan program yang sama yang ditulis secara berulang – ulang. l. Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah ini tidak perlu selalu menuliskannya, cukup memanggil fungsi tersebut. m. Mempermudah dokumentasi. n. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain
  • 61. Algoritma Pemrograman Page 60 Jenis Fungsi 1. Standard Library Function Yaitu fungsi-fungsi yang telah disediakan oleh C dalam file-file header atau librarynya. Misalnya: clrscr(), getch() Untuk function ini kita harus mendeklarasikan terlebih dahulu library yang akan digunakan, yaitu dengan menggunakan preprosesor direktif. Misalnya: #include <conio.h> 2. Programmer-Defined Function Adalah function yang dibuat oleh programmer sendiri. Function ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program utama, dan bisa dijadikan satu ke dalam suatu library buatan programmer itu sendiri yang kemudian juga di-includekan jika ingin menggunakannya. Pendeklarasian Fungsi
  • 62. Algoritma Pemrograman Page 61 Fungsi dari Return return berfungsi untuk mengakhri eksekusi dari function tersebut, dan return juga dapat memberikan nilai pada saat akhir dari function kepada pemanggil. Bentuk penulisan 1 2 return; //pengembalian tanpa nilai. return nilai;//pengembalian dengan nilai. Contoh penulisan 1 2 3 4 5 6 7 8 //pengembalian tanpa nilai return; //pengembalian dengan nilai return true; return myVar; return “belajarcpp.com”; return 6+myVar/5; Function memiliki dua jenis, yaitu function yang tidak mengembalikan nilai dan function yang dapat mengembalikan nilai pada pemanggil. Dan return adalah keyword untuk mengatur hal tersebut. Function tidak mengembalikan nilai Function yang tidak mengembalikan nilai biasanya menggunakan return type yang bertipe void. Contoh Program 1 2 3 4 5 #include <iostream> #include <string> using namespace std; void hallo(string a=""){ if(a == ""){
  • 63. Algoritma Pemrograman Page 62 6 7 8 9 10 11 12 13 return; } cout<<"Hallo "<<a<<" !"<<endl; } int main(){ hallo(); return 0; } Saat CPU mendapatkan pernyataan return, CPU akan keluar dari function itu dan akan mengabaikan segala hal, meskipun setelah pernyataan tersebut masih terdapat banyak pernyataan lain. Pada contoh program di atas, terjadi pemanggilan function hallo() dengan menggunakan satu parameter string, lalu pada function tersebut terdapat penyeleksian untuk memeriksa nilai dari parameter. Lalu dibawahnya terdapat pernyataan keluaran. Jadi jika pengguna memanggil dan memberikan argument yang tidak kosong maka akan program tersebut akan mengeluarkan keluara “hallo ” di ikuti dengan nilai argument yang pengguna berikan. Tapi jika kosong maka CPU akan meloncati dan mengabaikan pernyataan keluaran tersebut, alhasil pada program tidak akan menampilkan keluaran apapun. Function yang mengembalikan nilai Dan jenis dari function yang lain adalah Function yang dapat mengembalikan nilai. Setiap function yang bukan function dengan return type void merupakan function yang dapat mengembalikan sebuah nilai kepada pemanggil.
  • 64. Algoritma Pemrograman Page 63 Contoh program 1 2 3 4 5 6 7 8 9 10 11 12 #include <iostream> #include <string> using namespace std; string hallo(string a=""){ return "Hallo "+a+" !"; } int main(){ cout<<hallo("Belajar C++"); return 0; } Untuk mengembalikan nilai kepada pemanggil kita bisa melakukanya dengan memberikan data, string, konstanta, identitas variabel, ekspresi dan lain-lain yang memiliki nilai. Pemberian nilai tersebut diletakan sesudah keyword return. Tapi saat kita akan mengembalikan nilai, kita harus melihat dan menyesuaikan return type apa yang function itu gunakan, pemberian data dan return type pada function harus sesuai. Pada contoh di atas, terdapat function kustom dengan return type string dan memiliki 1 parameter yang yang juga merupakan string. Saat program di eksekusi akan menghasilkan keluaran yang berupa pernyataan String “Hallo ” dan dikuti dengan nilai argument yang diberikan saat pemanggilan function. Contoh program 1 2 3 4 5 6 #include <iostream> using namespace std; double luasLingkaran(double r=0){ if(!r){ cout<<"Anda tidak memasukan argument r."<<endl; return 0;
  • 65. Algoritma Pemrograman Page 64 7 8 9 10 11 12 13 14 15 } const double pi = 3.14159265358979323846; return pi*r*r; } int main(){ cout<<luasLingkaran(3); return 0; } Di atas adalah contoh program yang dapat menghitung luas dari lingkaran. Pada function yang dapat mengembalikan nilai. nilai dari function yang kita panggil dapat kita abaikan. kita tidak diharuskan untuk mengambil nilai yang diberikan oleh function, yang kita panggil. 1 2 3 4 5 6 7 8 9 10 #include <iostream> using namespace std; int hitungan(){ return 9+6; } int main(){ hitung(); //nilai yang dikembalikan diabaikan } hal tersebut pada program di atas dapat dilakukan, dan tidak berdampak buruk pada proses kompilasi dan kerja program kita. Kebenaran yang lainya yang perlu anda tau adalah, bahwa setiap function yang menggunakan return hanya dapat mengembalikan satu nilai kepada pemanggil. Dalam pengembalian nilai sendiri kita dimungkinkan menggunakan beberapa metode, mirip seperti saat pemberian argument kepada function parameter. Metode-metode yang dapat dilakukan pada saat
  • 66. Algoritma Pemrograman Page 65 pengembalian nilai adalah return by value, return by reference dan return by address. Secara teori metode-metode pada return mirip dengan pemberian argument pada function parameter. Apa arti dari return 0; pada function utama int main () ? Pada dasarnya function yang memiliki return type selain void akan selalu mengembalikan nilai, secara default akan mengembalikan nilai 0 atau NULL saat programmer tidak menyertakan pernyataan return pada function tersebut. Function utama pada Bahasa pemrograman C/C++ selalu menggunakan integer sebagai return type, dan kita harus tau bahwa pernyataan di atas, perlakuan selalu mengembalikan nilai 0 atau NULL secara default, tidak berlaku pada Function utama. dan itu adalah alasan kenapa kita harus menyertakan pernyataan return 0;. return 0; sendiri memiliki arti untuk komputer kita. Setelah program kita selesai di kompilasi, dan saat CPU memulai mengeksekusi program kita, CPU akan selalu memulai pada function utama dan berakhir pada function utama, yaitu int main();. Apa yang terjadi adalah, untuk mengeksekusi program kita, CPU akan memanggil function utama, dan pada saat program berakhir, program juga akan menyertakan nilai yang dikembalikan oleh function utama. biasanya program anda memberikan nilai 0 kepada CPU. nilai 0 tersebut memiliki arti berbeda pada CPU, yaitu program anda memberikan informasi kepada CPU bahwa program anda telah berjalan dengan baik. Secara default CPU akan menganggap suatu program telah berjalan dengan baik jika mereka mengembalikan nilai 0 yang dilakukan oleh pernyataan return 0.
  • 67. Algoritma Pemrograman Page 66 Jika program mengembalikan nilai selain 0, maka menyatakan informasi kepada CPU bahwa program berakhir dengan tidak wajar.
  • 68. Algoritma Pemrograman Page 67 BAB 8 PENGURUTAN Target Pencapaian : Mahasiswa Memahami Jenis Pengurutan dan Contoh Penggunaannya
  • 69. Algoritma Pemrograman Page 68 Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik atau disebut juga ascending (dari data kecil ke data lebih besar) ataupun menurun/descending(dari data besar ke data kecil). Metode Sorting : 8.1. Bubble Sort / Pengurutan Gelembung Bubble sort / pengurutan gelembung ini merupakan suatu metode pengurutan gelembung yang diinspirasi oleh gelembung sabun yang ada di dalam permukaan air, karena berat jenis gelembung sabun lebih ringan daripada berat jenis air maka gelembung sabun akan selalu megapung. Prinsip pengapungan ini juga dipakai pada pengurutan gelembung. Elemen yang berharga paling kecil “diapungkan”, yang artinya diangkat ke atas (atau ke ujung paling kiri) melalui pertukaran. Proses pengapungan ini dilakukan N kali langkah. Pada langkah ke 1, Larik[1….N] akan terdiri dari 2 bagian yaitu : a. Bagian yang sudah terurut yaitu L[1]…L[i] b. Bagian yang belum terurut L[i+1]..L[n] Untuk contoh program ini adalah
  • 70. Algoritma Pemrograman Page 69 Hasil Outputnya :
  • 71. Algoritma Pemrograman Page 70 8.2. Selection Sort/Pengurutan Maksimum-minimum Metode pengurutan ini didasarkan pada pemilihan elemen maksimum atau minimum kemudian mempertukarkan elemen maksimum-minimum tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan), selanjutnya elemen terujung itu kita “isolasi” dan tidak diikut sertakan pada proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen maksimum/minimum, maka metode ini disebut metode pemilihan ( selection) Contoh programnya adalah :
  • 72. Algoritma Pemrograman Page 71 Hasil Outpunya adalah : 8.3. Insertion Sort/Pengurutan Sisip Insertion Sort/pengurutan sisip adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan pencarian beruntun. Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik. REFERENSI https://www.belajarcpp.com