Modul ini disusun untuk praktikum algoritma pemrograman di kampus STMIK EL Rahma Yogyakarta. Bahasa Pemrograman yang digunakan adalah C++, membahas pseudo code, flowchart, array, tipe data, function, dan pengurutan
Assalamu'alaikum. Berikut Materi Pelajaran Pemrograman Dasar dengan yang dibahas yaitu Alur Logika Pemrograman.
.
Materi ini untuk SMK kelas 1 jurusan Teknik Komputer dan Jaringan, Rekayasa Perangkat Lunak, Multimedia, dan Jurusan Lain yang mempelajari Pemrograman Dasar.
.
Isi materi di dalam video ini yaitu :
- Pengertian bahasa pemrograman
- Fungsi bahasa pemrograman
- Tingkatan bahasa pemrograman
- Jenis-jenis bahasa pemrograman
.
Video sebelumnya :
1. Alur Logika Pemrograman : https://youtu.be/80EXU-pOaGE
2. Algoritma Pemrograman Komputer : https://youtu.be/_kYuTofSmLg
.
Ok, jika video ini bermanfaat, silahkan like, comment, dan share agar orang lain bisa belajar Pemrograman Dasar dengan topik materi mengenai Bahasa Pemrograman.
Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu keluaran / output yang diharapkan.
Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan untuk memecahkan masalah.
Assalamu'alaikum. Berikut Materi Pelajaran Pemrograman Dasar dengan yang dibahas yaitu Alur Logika Pemrograman.
.
Materi ini untuk SMK kelas 1 jurusan Teknik Komputer dan Jaringan, Rekayasa Perangkat Lunak, Multimedia, dan Jurusan Lain yang mempelajari Pemrograman Dasar.
.
Isi materi di dalam video ini yaitu :
- Pengertian bahasa pemrograman
- Fungsi bahasa pemrograman
- Tingkatan bahasa pemrograman
- Jenis-jenis bahasa pemrograman
.
Video sebelumnya :
1. Alur Logika Pemrograman : https://youtu.be/80EXU-pOaGE
2. Algoritma Pemrograman Komputer : https://youtu.be/_kYuTofSmLg
.
Ok, jika video ini bermanfaat, silahkan like, comment, dan share agar orang lain bisa belajar Pemrograman Dasar dengan topik materi mengenai Bahasa Pemrograman.
Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu keluaran / output yang diharapkan.
Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan untuk memecahkan masalah.
Modul teknik pemrograman mikrokontroler dan mikroprosesorBeny Abd
Modul 1 teknik pemrograman mikrokontroler dan mikroprosesor membahas mengenai pemecahan masalah bersifat sistematis menggunakan algoritma dan diagram alir
Sim, aviani safitri, prof. dr. ir. h. hapzi ali, pre msc, mm,cma, analisis d...Aviani safitri
Sistem Informasi memegang peranan penting bagi para manajer perusahaan/industri untuk pengambilan keputusan. Informasi yang berkualitas akan dapat menghasilkan keputusan yang berkualitas. Informasi tidak hanya sekedar data sebagai perangkat pembantu administrasi namun lebih dari itu merupakan komponen penting untuk menciptakan keunggulan kompetitif. Keunggulan kompetitif diperlukan perusahaan untuk dapat memenangkan persaingan yang saat ini semakin bervariasi dan semakin tajam.
Ukk 2016 membuat game dengan aplikasi construct - bagas wirantoSyiroy Uddin
Ukk 2016 membuat game dengan aplikasi construct - bagas wiranto
SMK DARMA SISWA 1 SIDOARJO
HASIL KARYA SISWA - SISWI
TEKNIK KOMPUTER DAN JARINGAN
UJI KOMPETENSI KEJURUAN TAHUN 2016
E-Book Web Statis ini digunakan untuk mengajar di Kampus Stmik El Rahma Yogyakarta. Membahas tentang prinsip dasar web desain, Pengenalan Fitur HTML5, Membahas Responsive Desain, dan Teknik Validasi Formulir dengan plugin jquery
Diktat ini untuk mengajar matakuliah web interaktif di kampus STMIK El Rahma Yogyakarta. Matakuliah ini mengajarkan membuat website dengan menggunakan node.js. Dimulai dari dasar javascript, sehingga mudah diikuti meskipun belum bisa javascript
Digunakan untuk Matakuliah Web Service di kampus STMIK El Rahma. Matakuliah ini membahas tentang pengenalan membuat API dari dasar. Syarat mempelajari matakuliah ini, sudah pernah mengambil pemrograman web.
Modul ini membahas tentang konsep pemrograman berorientasi objek dilengkapi dengan contoh source code untuk praktik. Membahas Class, Object, Pewarisan, Polimorfisme, Konstruktor
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondelferrydmn1999
Indonesia, negara kepulauan yang kaya akan keragaman budaya, suku, dan tradisi, memiliki Jakarta sebagai pusat kebudayaan yang dinamis dan unik. Salah satu kesenian tradisional yang ikonik dan identik dengan Jakarta adalah ondel-ondel, boneka raksasa yang biasanya tampil berpasangan, terdiri dari laki-laki dan perempuan. Ondel-ondel awalnya dianggap sebagai simbol budaya sakral dan memainkan peran penting dalam ritual budaya masyarakat Betawi untuk menolak bala atau nasib buruk. Namun, seiring dengan bergulirnya waktu dan perubahan zaman, makna sakral ondel-ondel perlahan memudar dan berubah menjadi sesuatu yang kurang bernilai. Kini, ondel-ondel lebih sering digunakan sebagai hiasan atau sebagai sarana untuk mencari penghasilan. Buku foto Lensa Kampung Ondel-Ondel berfokus pada Keluarga Mulyadi, yang menghadapi tantangan untuk menjaga tradisi pembuatan ondel-ondel warisan leluhur di tengah keterbatasan ekonomi yang ada. Melalui foto cerita, foto feature dan foto jurnalistik buku ini menggambarkan usaha Keluarga Mulyadi untuk menjaga tradisi pembuatan ondel-ondel sambil menghadapi dilema dalam mempertahankan makna budaya di tengah perubahan makna dan keterbatasan ekonomi keluarganya. Buku foto ini dapat menggambarkan tentang bagaimana keluarga tersebut berjuang untuk menjaga warisan budaya mereka di tengah arus modernisasi.
Sebagai salah satu pertanggungjawab pembangunan manusia di Jawa Timur, dalam bentuk layanan pendidikan yang bermutu dan berkeadilan, Dinas Pendidikan Provinsi Jawa Timur terus berupaya untuk meningkatkan kualitas pendidikan masyarakat. Untuk mempercepat pencapaian sasaran pembangunan pendidikan, Dinas Pendidikan Provinsi Jawa Timur telah melakukan banyak terobosan yang dilaksanakan secara menyeluruh dan berkesinambungan. Salah satunya adalah Penerimaan Peserta Didik Baru (PPDB) jenjang Sekolah Menengah Atas, Sekolah Menengah Kejuruan, dan Sekolah Luar Biasa Provinsi Jawa Timur tahun ajaran 2024/2025 yang dilaksanakan secara objektif, transparan, akuntabel, dan tanpa diskriminasi.
Pelaksanaan PPDB Jawa Timur tahun 2024 berpedoman pada Peraturan Menteri Pendidikan dan Kebudayaan RI Nomor 1 Tahun 2021 tentang Penerimaan Peserta Didik Baru, Keputusan Sekretaris Jenderal Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi nomor 47/M/2023 tentang Pedoman Pelaksanaan Peraturan Menteri Pendidikan dan Kebudayaan Nomor 1 Tahun 2021 tentang Penerimaan Peserta Didik Baru pada Taman Kanak-Kanak, Sekolah Dasar, Sekolah Menengah Pertama, Sekolah Menengah Atas, dan Sekolah Menengah Kejuruan, dan Peraturan Gubernur Jawa Timur Nomor 15 Tahun 2022 tentang Pedoman Pelaksanaan Penerimaan Peserta Didik Baru pada Sekolah Menengah Atas, Sekolah Menengah Kejuruan dan Sekolah Luar Biasa. Secara umum PPDB dilaksanakan secara online dan beberapa satuan pendidikan secara offline. Hal ini bertujuan untuk mempermudah peserta didik, orang tua, masyarakat untuk mendaftar dan memantau hasil PPDB.
Apakah program Sekolah Alkitab Liburan ada di gereja Anda? Perlukah diprogramkan? Jika sudah ada, apa-apa saja yang perlu dipertimbangkan lagi? Pak Igrea Siswanto dari organisasi Life Kids Indonesia membagikannya untuk kita semua.
Informasi lebih lanjut: 0821-3313-3315 (MLC)
#SABDAYLSA #SABDAEvent #ylsa #yayasanlembagasabda #SABDAAlkitab #Alkitab #SABDAMLC #ministrylearningcenter #digital #sekolahAlkitabliburan #gereja #SAL
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
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
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
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