Anda di halaman 1dari 29

MAKALAH

Dasar-Dasar Pemograman Komputer

Tentang

Pemograman C++

Disusun Oleh:

Ria Finolia (NIM : 2150006)

Dosen Pengampu:

Jefri Rahmad Mulia, S.Kom.,M.Kom

PROGRAM STUDI PENDIDIKAN MATEMATIKA

UNIVERSITAS ADZKIA

PADANG

2022
KATA PENGANTAR

Puji syukur marilah kita ucapkan atas ke hadirat Allah Swt. Karena berkat rahmat dan

nikmatnya kami dapat menyelesaikan pembuatan makalah ini. Sholawat beriring salam semoga

tetap tercurah kepada nabi besar kita yakni nabi Muhammad Saw. Selanjutnya yang terhormat

kepada bapak jefri rahmad mulia, S.Kom.,M.Kom selaku dosen pengampu pada mata kuliah

Dasar-dasar pemograman komputer.

Pada kesempatan kali ini kami membuat makalah mengenai “Pemograman C++”.

Bertujuan untuk memenuhi tugas mata kuliah Dasar-dasar pemograman komputer dan menambah

wawasan pemabaca.

Selanjutnya, penulis mengucapkan terimakasih kepada teman-teman yang telah ikut

berpatisipasi dalam menyelesaikan pembuatan makalah ini. Penulis menyadari bahwa makalah ini

masih terdapat banyak kekurangan, oleh sebab itu penulis persilahkan kepada para pembaca untuk

mengkritik atau memberi saran yang bertujuan untuk menyempurnakan makalah ini.

Padang, 22 Februari 2023

i
DAFTAR ISI

KATA PENGANTAR .................................................................................... i

DAFTAR ISI................................................................................................... ii

BAB I PENDAHULUAN ............................................................................... 1

A. Latar Belakang .......................................................................................... 1

B. Rumusan Masalah ..................................................................................... 1

C. Tujuan ....................................................................................................... 2

BAB II PEMBAHASAN ................................................................................ 3

A. Bahasa Pemograman C++ ......................................................................... 3

B. Prosedur Penulisan Programan di C++ .................................................... 3

C. Stetment Deklarasi dan Penugasan ............................................................ 4

BAB III PENUTUP ........................................................................................ 13

A. Kesimpulan ............................................................................................... 13

B. Saran ........................................................................................................ 13

DAFTAR PUSTAKA ..................................................................................... 14

ii
BAB I

PENDAHULUAN

A. Latar Belakang

Sejarah bahasa pemrograman C++ dimulai dengan perkembangan bahasa C. Bahasa

pemrograman C pertama kali dikembangkan pada tahun 1972 oleh Denis M. Ritchie di Bell

Labs. Bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun

1967 dan bahasa B yang dikembangkan oleh Ken Thompson pada tahun 1970. Kemudian

dibantu oleh Brian W. Kernighan, Ritchie menulis The C Programming Language pada tahun

1978. Sejak saat itu, bahasa pemrograman C lebih dikenal dengan K-RC C atau Classical C.

Versi C yang lebih baru adalah Ansi C tahun 1989 dan C 99 tahun 1999. Bahasa C++

diperkenalkan oleh Bjarne Stroustrup dari laboratorium AT&T/Bell pada tahun 1980 dengan

nama asli "C with Classes". Stroustroup juga menulis Bahasa Pemrograman C++. Bahasa C

adalah bahasa perantara. Bahasa C menjadi bahasa C plus OOP, dikombinasikan dengan

beberapa sintaks baru, tipe statis, dan dapat mendukung gaya pemrograman yang berbeda.

Bahasa C++ saat ini sedang dikembangkan untuk membuat perangkat lunak. Sistem

operasi seperti Windows, Linux dan juga jaringan komputer (aplikasi klien/server

terdistribusi), game, driver perangkat keras, dan perangkat lunak diperdalam.

adalah bahasa yang dapat digunakan untuk membuat berbagai aplikasi. Misalnya aplikasi

untuk mengolah gambar, program untuk perangkat, game untuk sistem operasi baru.

Bahasa ini dikembangkan dari bahasa pemrograman C. Tidak heran kedua bahasa ini

memiliki sintaks dan struktur kode yang sama. Perbedaannya adalah C++ adalah pemrograman

berorientasi objek (OOP) sedangkan C adalah bahasa pemrograman prosedural. Dengan kata

lain, bahasa pemrograman C++ memiliki data dan fungsi yang digabungkan ke dalam kelas

1
dan objek yang bekerja sama untuk menyelesaikan suatu masalah. Jadi jika Anda ingin

mengubah suatu fungsi, Anda tidak perlu mengubah keseluruhan program. Dengan cara ini

mengubah kode lebih fleksibel.

Ini tidak mungkin dengan prosedur dalam bahasa pemrograman C, di mana data dan fungsi

terpisah dan kompiler harus membacanya satu per satu. Jadi jika Anda ingin mengubah suatu

fungsi, Anda harus mengubah keseluruhan program.

B. Rumusan Masalah

Dari latar belakang diatas, maka rumusan masalahnya yaitu:

1. Mengapa harus belajar bahasa pemograman C++?

2. Bagaimana prosedur penulisan pemograman di C++?

3. Bagaimana stetment deklarasi dan penugasannya?

C. Tujuan

Dari latar belakang dan rumusan masalah diatas, maka tujuan penulisan makalah ini ialah :

1. Untuk mengetahui bahasa pemograman C++.

2. Untuk mengetahui prosedur penulisan pemograman di C++

3. Untuk mengetahui stetment deklarasi dan penugasannya

2
BAB II

PEMBAHASAN

A. Mengapa Harus Belajar Bahasa Pemograman C++


C++ memiliki seperangkat konsep dasar yang mencakup berbagai hal, termasuk
variabel dan sintaks. Untuk memahami C++, terlebih dahulu kita harus mengetahui apa
saja konsep dasar tersebut untuk mempermudah proses pembelajaran C++. 5 konsep dasar
bahasa pemrograman C++ adalah sebagai berikut:

1. Variabel

Di C++, variabel adalah nama yang diberikan ke lokasi memori yang berisi unit
dasar penyimpanan program. Nilai yang disimpan dalam variabel ini dapat diubah selama
eksekusi program. Variabel hanyalah nama yang diberikan ke lokasi penyimpanan, dan
variabel yang memengaruhi dapat memengaruhi lokasi penyimpanan tersebut secara
umum. Di C++, semua variabel harus dideklarasikan atau tidak diberi label dan diberi label
sebelum digunakan. Format deklarasi variabel yang paling sering ditemukan adalah
// Deklarasikan satu variabel
ketik nama_variabel;
// Deklarasikan banyak variabel:
tulis nama_variabel1, nama_variabel2, nama_variabel3;
Nama variabel ini dapat terdiri dari huruf, huruf besar dan kecil, angka dan karakter
“_” (underscore). Perhatikan, bagaimanapun, bahwa nama variabel tidak boleh dimulai
dengan angka.

2. Struktur Kontrol

Struktur kontrol di C++ memberi tahu apa yang harus dilakukan program
berdasarkan kapan dan di mana kondisi tersebut terjadi. Ini terjadi karena program biasanya

3
tidak terbatas pada rangkaian pernyataan linier. Selama prosesnya, program dapat
bercabang dan mengulang kode selama pengambilan keputusan.
Struktur kontrol C++ memungkinkan pengguna untuk mengeksplorasi konsep baru
dalam bentuk pernyataan atau blok kombinatorial. Blok adalah serangkaian pernyataan
yang dipisahkan oleh titik koma (;) tetapi dikelompokkan menjadi satu blok dengan
menyertakan tanda kurung; {}; sebagai berikut
{negara bagian1; pernyataan2; pernyataan3; }
Struktur kontrol C++ juga mengenali kontrol aliran, yang membantu
mengimplementasikan tiga tipe dasar struktur kontrol. Ada tiga tipe dasar struktur kontrol
Berurutan, mode default di mana pernyataan kode dieksekusi baris demi baris
Pilihan, digunakan untuk membuat keputusan, bercabang dan beralih di antara dua
atau lebih jalur alternatif. C++ memiliki beberapa statement pilihan, yaitu if, if/else, dan
switch
Repetisi digunakan untuk mengulangi atau mengulangi suatu bagian kode beberapa
kali berturut-turut. Dalam C++ ini disebut loop dan ada tiga jenis, yaitu while, do/while
dan for 3. Struktur informasi
struktur data
Struktur data adalah sekelompok item data dalam C++ (sumber:
piksel)
Struktur data, atau struktur data dalam C++, adalah kumpulan item data yang
dikelompokkan dalam satu nama. Data ini disebut anggota dan dapat dari berbagai jenis
dan panjang. Struktur data dapat dideklarasikan dalam C++ dengan sintaks berikut:
struct type_name {
MemberType1 MemberName1;
tipe anggota2 nama anggota2;
anggota tipe3 nama anggota3;
.
. } nama objek;
Fungsi type_name dalam struktur data C++ adalah nama dari tipe struktur yang
digunakan, sedangkan object_name adalah kumpulan pengidentifikasi yang valid untuk

4
objek dengan tipe struktur terkait. Tanda kurung kurawal "{}" adalah pembatas untuk
daftar item data, masing-masing didefinisikan oleh tipe yang valid dan nama pengenal.
Secara umum, struktur data dalam C++ adalah tipe data yang dibuat dari record
lain. Contoh struktur data adalah sebagai berikut:
string nama_student01 = "Ragil Putra Pratama";
string nama_sekolah_siswa01 = "SMA 1 Pekalongan";
unsigned int money_spp_opiskelija01 = 10000;
Pengelompokan siswa kedua dan selanjutnya hanya dapat dilakukan dengan
menuliskan nama_siswa02, nama_sekolah_siswa02 dan siswa_spp_uang02.

4. sintaksis
Dalam pemrograman C++, istilah sintaks mengacu pada seperangkat aturan, proses,
dan protokol yang telah ditentukan sebelumnya yang harus diikuti setiap orang. Ini wajib
jika pengguna menginginkan kode bebas kesalahan. Secara umum, sintaksis adalah dasar
dari aturan, prinsip, dan proses yang mengatur struktur C++ atau bahasa pemrograman apa
pun. Berikut adalah contoh sintaks C++,
#termasuk
dengan ruang nama std;
int utama() {
c di luar << "Indonesia Raya!";
kembali 0;
}
Contoh di atas berarti

Baris 1, #include adalah library atau header dokumen yang memungkinkan kita
bekerja dengan objek input dan output
Baris 2, menggunakan namespace std berarti kita dapat menggunakan nama untuk
objek dan variabel dari pustaka standar
Baris 3 adalah baris kosong tempat C++ mengabaikan spasi atau spasi (ENTER)
Baris 4, int main() adalah fungsi yang menjalankan semua kode di dalam tanda
kurung

5
Baris 5, cout atau "see out" adalah objek yang digunakan bersama dengan operator
penjumlahan (<<) untuk mencetak atau menampilkan teks. Pada contoh, teks yang
ditampilkan adalah "Indonesian Raya".

5. Alat
Secara umum, ada dua alat utama untuk mempelajari C++, yang pertama adalah
menyiapkan kompiler dan yang kedua adalah editor teks. Kompiler adalah program untuk
menerjemahkan kode C++ ke dalam bahasa rakitan. Sedangkan text editor merupakan
aplikasi yang sebelumnya digunakan untuk menulis kode.
Kompiler yang biasa digunakan untuk C++ adalah GCC atau Clang, Microsoft
Visual C++, Intel C++ Compiler dan lain-lain. Beberapa produk editor teks terkenal,
seperti Sublime Text, Atom, Visual Studio Code, dll.
Elemen-elemen bahasa Pemograman terdiri dari:
1. Statemen
Statemen adalah sebuah baris kode formal yang menberi tahu komputer apa
yang dilakukan. Program melakukan pekerjaan menggunakan statemen untuk:
- Inisialisasi
- Mendapatkan input
- Proses data
- Penampilan output
- Penyimpanan data
Sebagai contoh perhatikan program berikut:
- Inisialisasi float fahr, celcius;
- Mendapatkan input fahr= 50;
- Proses data celcius = (fahr - 32) *5/9 ;
- Penampilan hasil cout<< “ Hasil Konversi = “<<celcius<endin

2. Variabel

Sebuah unit memori yang dapat diubah selama eksekusi program. Setiap
variabel harus diberi dengan nama yang unik. Syarat-syarat penamaan suatu
variable adalah sebagai berikut:

6
- Dibatasi sebesar 255 karakter.
- Harus diawali oleh karakter alfabet.
- Tidak boleh memiliki titik atau koma.
- Nama tidak boleh berupa kata kunci (keyword)

3. Konstanta

Cara deklarasi konstanta adalah sebagai berikut:

- Const float pi = 3.14; atau - #define pi 3.14

Dimana:

- Const : kata wajib yang ada di depan definisi konstanta

- pi : nama yang dipilih sebagai nama untuk konstanta

- 3.14 : nilai yang diberikan pada konstanta

4. Tipe data

Tabel 2.1 Tipe data pemrograman C++

NO Tipe Data Ukuran Range (jangkauan) Format Keterangan 1 char 1 byte -128 s/d 127 %c
Karakter/string 2 int 2 byte -32768 s/d 32767 %i, %d Integer/bilangan bulat 3 Float 4 byte -3.4E-
38 s/d e.4E+38 %f Float/bilangan pecahan 4 Double 8 byte -1.7E-308 s/d 1.7E+308 %lf Pecahan
presisi ganda 5 void 0 byte - - Tidak bertipe

5 Operator dan ekspresi

Simbol yang dapat menyebabkan perubahan pada ekspresi seperti operasi aritmatika.
Tanda sama dengan (=) merupan operator penugasan yang menberikan sebuag nilai pada
sebuah variabel. Contoh: V = I * R Akan memberikan nilai pada variabel V dengan nilai
perkalian variabel I dan R. Tabel 2.2 Operator dan ekspresi pemrograman C++ C++ Operation
Operator Algebraic Expression C++ Expression Addition + f + 7 f + 7 Substraction - p – c p –
c Multiplication * Bm or b m b * m Division / x / y or or x ÷ y x / y Modulus % r mod s r % s
Operator Pembanding Tabel 2.3 Jenis operator pembanding pemrograman C++ Simbol

7
Deskripsi Contoh Ekspresi Benar Salah < Kecil dari -7.8 < 4.5 4.5 < -7.8 <= Kecil dari atau
sama dengan 0.67 <= 0.68 0.68 <= 0.67 > Besar dari 20 > 10 10 > 20 Besare dari atau sama
dengan 1 >= 0 0 >= 1 <> Tidak sama dengan 10 <> 10.01 10 <> 10 = Sama dengan 7 = 7 7 =
6.99999 Selanjutnya pada bab ini akan dibahas dasar-dasar pemograman C++ yang akan
digunakan dalam membuat aplikasi komputasi sistem rekayasa dan matematika.

B. Prosedur Penullisan Programan C++

1. Perbedaan Huruf Besar / Kecil dalam Bahasa C++

Pengertian sederhana dari case sensitivity adalah perbedaan antara huruf besar dan huruf kecil.
Istilahnya, bahasa C++ termasuk bahasa yang case sensitif. Dalam bahasa C++, huruf besar dan
kecil dianggap berbeda. Perintah cout tidak bisa ditulis menjadi Cout.
Berikut contohnya:

1#include <iostream>
2
3using namespace std;
4
5int main()
6{
7 Cout << "Belajar C++ di Duniailkom";
8 return 0;
9}
Hasil kode program:

error: 'Cout' was not declared in this scope


Error di atas terjadi karena di baris 7 saya menulis Cout << “Belajar C++ di Duniailkom”,
dimana seharusnya perintah cout ditulis dalam huruf kecil semua, yakni cout << “Belajar C++
di Duniailkom”.
Untuk penulisan variabel juga akan berbeda antara huruf besar dan kecil.
Variabel jumlah, JUMLAH, dan Jumlah adalah 3 variabel yang berlainan. Aturan ini berbeda

8
jika dibandingkan bahasa pemrograman PASCAL yang bersifat case insensitif (tidak
membedakan huruf besar dan kecil).
2. Cara Penulisan Komentar dalam Bahasa C++

Komentar atau comment adalah kode program yang ditambah untuk memberi keterangan /
penjelasan mengenai cara kerja program. Komentar tidak akan diproses oleh compiler C++.
Dalam bahasa C++, terdapat 2 cara membuat baris komentar:

1. Komentar singkat dengan karakter forward slash dua kali: //.


2. Komentar panjang dengan tanda pembuka /* dan tanda penutup */.
Untuk komentar singkat dengan tanda //, hanya berlaku untuk satu baris saja. Seluruh teks yang
ada setelah tanda tersebut akan diabaikan oleh compiler C++. Berikut contoh penggunaannya:

1 #include <iostream>

3 using namespace std;

5 int main()

6 {

7 // Tampilkan pesan teks

8 cout << "Belajar C++ di Duniailkom"; // Hasil: Belajar C++ di Duniailkom

9 return 0;

10 }

Teks yang ada di baris 7 dan sebagian baris 8 tidak akan di proses oleh compiler C++.

Baris komentar juga sering dipakai untuk menonaktifkan beberapa perintah:

9
1 #include <iostream>

3 using namespace std;

5 int main()

6 {

7 cout << "Belajar C++ di Duniailkom";

8 // cout << "Kode ini di non aktifkan";

9 return 0;

10 }

Dengan teknik seperti ini kita bisa mencoba berbagai perintah lain tanpa harus menghapus kode
yang sudah ada.

Baris komentar juga sering dipakai untuk membuat semacam copyright kode program yang ditulis
pada bagian awal:

1 // Pembuat : Duniailkom.com

2 // Tujuan : Menampilkan pesan menggunakan C++

3 // Bahasa : C++

4 // Tanggal Pembuatan: 19 Oktober 2020

6 #include <iostream>

10
8 using namespace std;

10 int main()

11 {

12 cout << "Belajar C++ di Duniailkom";

13 return 0;

14 }

Cara pembuatan baris komentar kedua adalah dengan tanda /* dan */. Seluruh karakter yang ada
diantara kedua tanda ini akan dianggap sebagai komentar dan diabaikan pada saat proses compiler.
Berikut contoh penggunaannya:

1 /* Pembuat : Duniailkom.com

2 Tujuan : Menampilkan pesan menggunakan C++

3 Bahasa : C++

4 Tanggal Pembuatan: 19 Oktober 2020 */

6 #include <iostream>

8 using namespace std;

10 int main()

11 {

11
12 cout << "Belajar C++ di Duniailkom";

13 /* cout << "Kode ini di non aktifkan"; */

14 return 0;

15 }

Baris komentar yang ditulis dengan tanda /* dan */ bisa mencakup banyak baris, dan harus ditulis
secara berpasangan.

C. Stetment Deklarasi dan Penugasan

1. Pengertian Statement dalam Bahasa Pemrograman C++

Statement dalam bahasa C++ adalah sebutan untuk sebuah baris perintah. Setiap statement dalam
C++ harus diakhiri dengan tanda titik koma ( ; ).
Berikut beberapa contoh statement dalam bahasa pemrograman C++:

1x = 6;

2y = "Duniailkom";

3z = 5+3;

42+3;

5cout << "Belajar C++ di Duniailkom";

6root2 = sqrt(49);

Sebuah statement tidak harus mencakup satu baris. Perintah kondisi seperti if else dan perulangan
(looping) bisa terdiri dari beberapa baris, dan ini dianggap sebagai satu statement:
1if(x == "Duniailkom") {

2 cout << "Belajar C++ di Duniailkom";

12
3}

Statement yang terdiri dari beberapa baris seperti ini, biasanya diawali dengan tanda kurung
kurawal ” { ” dan diakhiri dengan tanda ” } “. Bagian ini juga sering disebut sebagai blok kode
program.
2. Deklarasi Variable
Variable adalah nama dalam kode yang mengacu ke alamat memori dimana isinya dapat
berubah saat program berjalan. Anda harus mendeklarasikan variable, karena tanpa deklarasi
variable tidak akan dapat diproses oleh program. Semua fungsi dan variable yang akan digunakan
dalam program harus dideklarasikan pada bagian atas sebuah program. Adapun bentuk umumnya
adalah sebagai berikut:
Tipe data daftar variable Tipe data disini adalah tipe data yang sah yang diakui oleh C++
Builder, kemudian tipe data ini diikuti oleh satu atau beberapa variable yang menandakan bahwa
variable tersebut mempunyai tipe data yang sama. Di bawah ini contoh mendeklarasikan variable:
int Panjang, Lebar, Luas; char A,B; char Nama[20];
Harus diingat tempat pendeklarasian variable, jika variable diletakan diatas/diawal program,
itu berarti variable tersebut bersifat global sedangkan jika diletakan didalam blok fungsi, maka
variabel itu adalah variable local, yang hanya berlaku untuk blok fungsi tersebut saja. Variabel-
variabel yang Anda deklarasikan di atas dapat saja mempunyai harga awal. Caranya adalah dengan
menempatkan tanda sama dengan yang diikuti dengan harga awal dari pada variable tersebut
dibelakang nama variable. Jadi bentuknya adalah sebagai berikut: Tipe data nama variable=
Konstanta Dibawah ini contoh bagaimana memberi harga awal sebuah variable
char ch=’a’; int panjang=10; float pajak=0.1;
Untuk mendeklarasikan variable ada dua tahap, yaitu :
Tahap penamaan dan tahap pemberian type. Penamaan variable dianjurkan yang mudah diingat,
misalnya : Bulan, Jumlah, Total dan sebagainya, bukan X,Z,Y dan seterusnya. Aturan penulisan
Variable : - Panjang nama variable sebaiknya tidak lebih dari 30 karakter - Harus diawali sebuah
huruf atau garis bawah(_) - Karakter selanjutnya dapat berupa huruf, garis bawah(_) atau angka
dari angka 0 sampai angka 9. - Tidak boleh mengandung karakter khusus seperti &, %, * dan
sebagainya - Tidak boleh menggunakan Reserved Word milik C++ Builder. Untuk pemberian type
variable sifatnya mutlak harus dilakukan karena bertujuan untuk mendefinisikan himpunan nilai-
nilainya.

13
3. Deklarasi Konstanta
Konstanta tidak seperti variable, nilainya akan tetap. Konstanta diawali dengan kata const dan
diakhiri dengan titik koma (;). Aturan umum deklarasi konstanta adalah : Contoh: const Nama
Konstanta = Nilai Konstanta;
Contoh pemakaian : const Total = 0; const rasio = 0.913; Sedangkan untuk aturan penamaan
konstanta sama dengan penamaan variable.
4. Penugasan
Dalam pemrograman komputer , pernyataan penugasan mengatur dan/atau mengatur ulang
nilai yang disimpan di lokasi penyimpanan yang dilambangkan dengan nama variabel ; dengan
kata lain, itu menyalin nilai ke dalam variabel. Dalam sebagian besar bahasa
pemrograman imperatif , pernyataan penugasan (atau ekspresi) adalah konstruksi dasar.
Saat ini, notasi yang paling umum digunakan untuk operasi ini
adalah (aslinya Superplan 1949–51, dipopulerkan oleh Fortran 1957 dan C ). Notasi kedua yang
paling umum digunakan adalah [1] (awalnya ALGOL 1958, dipopulerkan
oleh Pascal ). [2] Banyak notasi lain yang juga digunakan. Dalam beberapa bahasa, simbol yang
digunakan dianggap sebagai operator (artinya pernyataan penugasan secara keseluruhan
mengembalikan nilai). Bahasa lain mendefinisikan penugasan sebagai pernyataan (artinya tidak
dapat digunakan dalam ekspresi).x = expr x := expr

Penugasan biasanya memungkinkan variabel untuk menyimpan nilai yang berbeda pada
waktu yang berbeda selama rentang hidup dan ruang lingkupnya . Namun, beberapa bahasa
(terutama bahasa yang sangat fungsional ) tidak mengizinkan penugasan ulang "destruktif"
semacam itu, karena ini mungkin menyiratkan perubahan keadaan non-lokal. Tujuannya adalah
untuk menegakkan transparansi referensial , yaitu fungsi yang tidak bergantung pada status
beberapa variabel, tetapi menghasilkan hasil yang sama untuk sekumpulan input parametrik
tertentu pada titik waktu tertentu. Program modern dalam bahasa lain juga sering menggunakan
strategi serupa, meskipun kurang ketat, dan hanya di bagian tertentu, untuk mengurangi
kompleksitas, biasanya dalam hubungannya dengan metodologi pelengkap seperti
penataan data ,pemrograman terstruktur dan orientasi objek .
Penugasan apa pun yang mengubah nilai yang ada (misalnya x := x + 1 ) tidak diizinkan dalam

bahasa fungsional murni . [4] Dalam pemrograman fungsional , penugasan tidak disarankan demi

14
penugasan tunggal, juga disebut inisialisasi . Penugasan tunggal adalah contoh pengikatan
nama dan berbeda dari penugasan seperti yang dijelaskan dalam artikel ini yang hanya dapat
dilakukan sekali, biasanya saat variabel dibuat; tidak ada penugasan ulang berikutnya yang
diizinkan.
Evaluasi ekspresi tidak memiliki efek samping jika tidak mengubah keadaan mesin yang
dapat diamati, [5] dan menghasilkan nilai yang sama untuk input yang sama. [4] Penugasan
imperatif dapat menyebabkan efek samping sambil menghancurkan dan membuat nilai lama tidak
tersedia saat menggantinya dengan yang baru, [6] dan disebut sebagai penugasan destruktif karena
alasan itu dalam LISP dan pemrograman fungsional , mirip dengan pemutakhiran destruktif .
Penugasan tunggal adalah satu-satunya bentuk penugasan yang tersedia dalam bahasa fungsional
murni, seperti Haskell , yang tidak memiliki variabel dalam pengertian bahasa pemrograman
imperatif [4] melainkan menamai nilai konstanta yang mungkin bersifat majemuk dengan
elemennya yang didefinisikan secara progresif sesuai permintaan . Bahasa fungsional murni dapat
memberikan kesempatan untuk perhitungan dilakukan secara paralel , menghindari kemacetan
von Neumann dari eksekusi berurutan satu langkah pada satu waktu, karena nilai tidak tergantung
satu sama lain. [7]
Bahasa fungsional yang tidak murni menyediakan tugas tunggal dan juga tugas yang
sebenarnya (meskipun tugas yang benar biasanya digunakan dengan frekuensi yang lebih sedikit
daripada bahasa pemrograman imperatif). Misalnya, dalam Skema, penugasan tunggal
(dengan let ) dan penugasan sebenarnya (dengan set! ) dapat digunakan pada semua variabel, dan

primitif khusus disediakan untuk pembaruan destruktif di dalam daftar, vektor, string, dll. Di
OCaml, hanya penugasan tunggal yang diperbolehkan untuk variabel, melalui sintaks; namun
pembaruan destruktif dapat digunakan pada elemen array dan string dengan operator terpisah, serta
pada bidang catatan dan objek yang secara eksplisit dinyatakan dapat diubah (artinya dapat diubah
setelah deklarasi awal) oleh pemrogram. let name = value <-

Bahasa pemrograman fungsional yang menggunakan penugasan tunggal


termasuk Clojure (untuk struktur data, bukan vars), Erlang (menerima banyak penugasan jika
nilainya sama, berbeda dengan Haskell), F# , Haskell , JavaScript (untuk
konstanta), Lava , OCaml , Oz (untuk variabel aliran data, bukan sel), Racket (untuk beberapa
struktur data seperti daftar, bukan simbol), SASL , Scala (untuk vals), SISAL , Standard

15
ML . Kode Prolog non- backtracking dapat dianggap eksplisitpenugasan tunggal, eksplisit dalam
arti bahwa variabelnya (bernama) dapat dalam keadaan tidak ditetapkan secara eksplisit, atau
disetel tepat sekali. Di Haskell, sebaliknya, tidak boleh ada variabel yang tidak ditetapkan, dan
setiap variabel dapat dianggap secara implisit ditetapkan, ketika dibuat, ke nilainya (atau lebih
tepatnya ke objek komputasi yang akan menghasilkan nilainya sesuai permintaan ) .
Nilai tugas

Dalam beberapa bahasa pemrograman, pernyataan penugasan mengembalikan nilai,


sementara yang lain tidak.

Dalam sebagian besar bahasa pemrograman berorientasi ekspresi (misalnya, C ),


pernyataan penugasan mengembalikan nilai yang ditetapkan, mengizinkan idiom seperti x = y =

a , di mana pernyataan penugasan y = a mengembalikan nilai dari a , yang kemudian ditetapkan

ke x . Dalam pernyataan seperti , nilai kembalian dari suatu fungsi digunakan untuk mengontrol

loop sambil menugaskan nilai yang sama ke variabel.while ((ch = getchar()) != EOF) {…}
Dalam bahasa pemrograman lain, Skema misalnya, nilai pengembalian tugas tidak ditentukan dan
idiom semacam itu tidak valid.
Di Haskell , [8] tidak ada penugasan variabel; tetapi operasi yang mirip dengan penugasan
(seperti penugasan ke bidang array atau bidang struktur data yang dapat berubah) biasanya
dievaluasi ke tipe unit , yang direpresentasikan sebagai () . Jenis ini hanya memiliki satu

kemungkinan nilai, oleh karena itu tidak mengandung informasi. Ini biasanya jenis ekspresi yang
dievaluasi murni untuk efek sampingnya.
Varian bentuk penugasan

Pola penggunaan tertentu sangat umum, dan karena itu seringkali memiliki sintaksis
khusus untuk mendukungnya. Ini terutama gula sintaksis untuk mengurangi redundansi dalam
kode sumber, tetapi juga membantu pembaca kode dalam memahami maksud programmer, dan
memberikan petunjuk kepada kompiler untuk kemungkinan pengoptimalan.
Tugas yang ditambah
Artikel utama: Tugas augmented

16
Kasus di mana nilai yang ditetapkan bergantung pada yang sebelumnya sangat umum
sehingga banyak bahasa imperatif, terutama C dan sebagian besar keturunannya, menyediakan
operator khusus yang disebut penugasan ditambah , seperti *= , sehingga a = 2*a dapat ditulis

sebagai a *= 2 . [3] Di luar gula sintaksis, ini membantu tugas penyusun dengan memperjelas

bahwa modifikasi variabel di tempat a dimungkinkan.

Tugas berantai
Pernyataan seperti ini w = x = y = z disebut penugasan berantai di mana

nilai z ditugaskan ke beberapa variabel w, x, dan y . Penugasan berantai sering digunakan untuk

menginisialisasi banyak variabel, seperti pada


a=b=c=d=f=0

Tidak semua bahasa pemrograman mendukung tugas berantai. Tugas berantai setara
dengan urutan tugas, tetapi strategi evaluasi berbeda antar bahasa. Untuk penugasan berantai
sederhana, seperti menginisialisasi banyak variabel, strategi evaluasi tidak menjadi masalah, tetapi
jika target (nilai-l) dalam penugasan terhubung dengan cara tertentu, strategi evaluasi
memengaruhi hasilnya.

Dalam beberapa bahasa pemrograman ( C misalnya), tugas berantai didukung karena tugas
adalah ekspresi, dan memiliki nilai. Dalam hal ini penugasan berantai dapat diimplementasikan
dengan memiliki penugasan asosiatif kanan , dan penugasan terjadi dari kanan ke kiri. Misalnya i

= arr[i] = f() setara dengan arr[i] = f(); i = arr[i] . Di C++ mereka juga tersedia untuk nilai tipe

kelas dengan mendeklarasikan tipe pengembalian yang sesuai untuk operator penugasan.
Dalam Python , pernyataan penugasan bukanlah ekspresi dan karenanya tidak memiliki
nilai. Alih-alih, tugas berantai adalah rangkaian pernyataan dengan banyak target untuk satu
ekspresi. Penugasan dijalankan dari kiri ke kanan sehingga i = arr[i] = f() mengevaluasi

ekspresi f() , lalu menetapkan hasilnya ke target paling kiri, i , lalu menetapkan hasil yang sama

ke target berikutnya, arr[i] menggunakan nilai baru dari i . [9] Ini pada dasarnya setara

17
dengan tmp = f(); i = tmp; arr[i] = tmp meskipun tidak ada variabel aktual yang dihasilkan untuk

nilai sementara.
Tugas paralel
Beberapa bahasa pemrograman, seperti APL , Common
Lisp , [10] Go , [11] JavaScript (sejak 1.7), PHP , Maple , Lua , occam
2 , [12] Perl , [13] Python , [14] REBOL , Ruby , [15] dan PowerShell memungkinkan beberapa
variabel ditugaskan secara paralel, dengan sintaks seperti:

a, b := 0, 1

yang secara bersamaan memberikan 0 ke a dan 1 ke b . Ini paling sering dikenal sebagai tugas

paralel ; itu diperkenalkan di CPL pada tahun 1963, dengan nama simultaneous
assignment , [16] dan terkadang disebut multiple assignment , meskipun ini membingungkan
bila digunakan dengan "tugas tunggal", karena ini tidak berlawanan. Jika sisi kanan penugasan
adalah variabel tunggal (misalnya larik atau struktur), fitur tersebut
disebut unpacking [17] atau penugasan destrukturisasi : [18]

daftar var := {0, 1}


a, b := daftar

Daftar akan dibongkar sehingga 0 ditetapkan ke a dan 1 ke b . Lebih-lebih lagi,

a, b := b, a

menukar nilai dari a dan b . Dalam bahasa tanpa tugas paralel, ini harus ditulis untuk

menggunakan variabel sementara

var t := a
a :=b
b := t

karena a := b; b := a meninggalkan keduanya a dan b dengan nilai asli b .

18
Beberapa bahasa, seperti Go dan Python, menggabungkan tugas paralel, tupel,
dan pembongkaran tupel otomatis untuk memungkinkan beberapa nilai kembalian dari satu fungsi,
seperti dalam contoh Python ini,

def f ():
kembalikan 1 , 2
a , b = f ()

sementara bahasa lain, seperti C# dan Rust , yang ditampilkan di sini, memerlukan konstruksi dan
dekonstruksi tupel eksplisit dengan tanda kurung:

// Sintaks C# atau Rust yang valid


( a , b ) = ( b , a );
// C# tuple return
( string , int ) f () => ( "foo" , 1 );
var ( a , b ) = f ();
// Rust tuple return
let f = || ( "foo" , 1 );
misalkan ( a , b ) = f ();

Ini memberikan alternatif untuk penggunaan parameter keluaran untuk mengembalikan beberapa
nilai dari suatu fungsi. Ini berasal dari CLU (1974), dan CLU membantu mempopulerkan
penugasan paralel secara umum.
C# juga memungkinkan penugasan dekonstruksi umum dengan implementasi yang ditentukan
oleh ekspresi di sisi kanan, saat kompiler mencari instance atau
metode ekstensi Deconstruct yang sesuai pada ekspresi, yang harus memiliki parameter keluaran

untuk variabel yang ditugaskan. [19] Misalnya, salah satu metode yang akan memberikan kelas itu
muncul dalam perilaku yang sama dengan nilai pengembalian di f() atas adalah

void Deconstruct ( out string a , out int b ) { a = "foo" ; b = 1 ; }

19
Di C dan C++, operator koma mirip dengan penugasan paralel yang memungkinkan
beberapa penugasan terjadi dalam satu pernyataan, menulis a = 1, b = 2 alih-alih a, b = 1, 2 . Ini

terutama digunakan untuk loop , dan digantikan oleh tugas paralel dalam bahasa lain seperti
Go. [20] Namun, kode C++ di atas tidak menjamin keserentakan yang sempurna, karena sisi kanan
kode berikut a = b, b = a+1 dievaluasi setelah sisi kiri. Dalam bahasa seperti Python, a, b = b,

a+1 akan menetapkan dua variabel secara bersamaan, menggunakan nilai awal a untuk

menghitung b baru.
Penugasan versus kesetaraan

Lihat juga: Operator relasional § Kebingungan dengan operator penugasan

Penggunaan tanda sama = dengan sebagai operator penugasan telah sering dikritik, karena

konflik dengan sama sebagai pembanding persamaan. Hal ini mengakibatkan kebingungan bagi
pemula dalam menulis kode, dan kebingungan bahkan oleh programmer berpengalaman dalam
membaca kode. Penggunaan sama untuk penetapan tanggal kembali ke bahasa Superplan Heinz
Rutishauser , yang dirancang dari tahun 1949 hingga 1951, dan dipopulerkan secara khusus oleh
Fortran:
Contoh terkenal untuk ide buruk adalah pilihan tanda sama dengan untuk menunjukkan
penugasan. Itu kembali ke Fortran pada tahun 1957 [a] dan telah disalin secara membabi buta oleh
pasukan perancang bahasa. Mengapa itu ide yang buruk? Karena itu menggulingkan tradisi lama
seabad untuk membiarkan "=" menunjukkan perbandingan kesetaraan, sebuah predikat yang benar
atau salah. Tapi Fortran mengartikannya sebagai penugasan, penegakan kesetaraan. Dalam hal ini,
operan berada pada pijakan yang tidak sama: Operan kiri (variabel) harus dibuat sama dengan
operan kanan (ekspresi). x = y tidak berarti sama dengan y = x. [21]
— Niklaus Wirth , Ide Bagus, Melalui Kaca Tampak

Pemrogram pemula terkadang mengacaukan penugasan dengan operator relasional untuk


persamaan, karena "=" berarti persamaan dalam matematika, dan digunakan untuk penugasan
dalam banyak bahasa. Tetapi penugasan mengubah nilai suatu variabel, sedangkan pengujian
kesetaraan menguji apakah dua ekspresi memiliki nilai yang sama.

20
Dalam beberapa bahasa, seperti BASIC , satu tanda sama dengan ( "=" ) digunakan untuk

operator penugasan dan operator relasional persamaan, dengan menentukan konteks yang
dimaksud. Bahasa lain menggunakan simbol yang berbeda untuk kedua operator
tersebut. Misalnya:
 Dalam ALGOL dan Pascal , operator penugasan adalah titik dua dan tanda sama dengan
( ":=" ) sedangkan operator kesetaraan adalah satu sama dengan ( "=" ).

 Di C , operator penugasan adalah satu tanda sama dengan ( "=" ) sedangkan operator

kesetaraan adalah sepasang tanda sama dengan ( "==" ).

 Di R , operator penugasan pada dasarnya <- , seperti di x <- value , tetapi satu tanda sama

dengan dapat digunakan dalam konteks tertentu.

Kesamaan dalam dua simbol dapat menyebabkan kesalahan jika pemrogram lupa bentuk ("
" = , " == ", " := ") mana yang sesuai, atau salah ketik " = " ketika " == " dimaksudkan. Ini

adalah masalah pemrograman umum dengan bahasa seperti C (termasuk satu upaya terkenal untuk
mem-backdoor kernel Linux), [22] di mana operator penugasan juga mengembalikan nilai yang
ditetapkan (dengan cara yang sama seperti fungsi mengembalikan nilai), dan dapat bersarang
secara valid di dalam ekspresi. Jika tujuannya adalah untuk membandingkan dua nilai dalam
sebuah if pernyataan, misalnya, sebuah penugasan kemungkinan besar akan mengembalikan nilai

yang dapat ditafsirkan sebagai Boolean true, dalam hal ini klausa then akan dieksekusi, membuat

program berperilaku tidak terduga.gcc ) dapat mendeteksi situasi seperti itu, dan memperingatkan
pemrogram tentang potensi kesalahan.
Notasi

Dua representasi paling umum untuk tugas penyalinan adalah tanda sama dengan ( = ) dan

titik dua sama dengan ( := ). Kedua bentuk semantik dapat menunjukkan pernyataan penugasan

atau operator penugasan (yang juga memiliki nilai), tergantung pada bahasa dan/atau penggunaan.

21
variable
Fortran , PL/I , C (dan keturunan seperti C++ , Java , dll.), Bourne
=
shell , Python , Go (penugasan ke variabel yang telah dideklarasikan
expressi
sebelumnya), R , PowerShell , Nim , dll.
on

ALGOL (dan turunannya), Simula , CPL , BCPL , Pascal [23] (dan turunan
variable seperti Modula ), Mary , PL/M , Ada , Smalltalk , Eiffel , [24] [25] Oberon , D
:= ylan , [26] Seed7 , Python (ekspresi penugasan), [27] Go (singkatan untuk

expressi mendeklarasikan dan mendefinisikan

on variabel), [28] Io , AMPL , ML(menugaskan ke nilai


referensi), [29] AutoHotkey dll.

Kemungkinan lain termasuk panah kiri atau kata kunci, meskipun ada varian lain yang
lebih jarang:

variable << expression Magik

variable <- expression F# , OCaml , R , S

variable <<- expression R

assign(" variable ", expression ) R

APL , [30] Smalltalk , Pemrograman


variable ← expression
DASAR

variable =: expression J

LET variable = expression DASAR

22
let variable := expression XQuery

set variable to expression AppleScript

set variable = expression kulit C

Set-Variable variable (expression) PowerShell

variable : expression Macsyma, Maxima , K

variable : expression Rebol

var variable expression bahasa skrip mIRC

reference-variable :- reference-
Simulasi
expression

Penugasan kode semu matematika umumnya digambarkan dengan panah kiri.

Beberapa platform menempatkan ekspresi di sebelah kiri dan variabel di sebelah kanan:

MOVE expression TO variable COBOL

expression → variable TI-BASIC , Casio BASIC

expression -> variable POP-2 , BETA , R

put expression into variable Kode Langsung

23
PUT expression IN variable ABC

Beberapa bahasa berorientasi ekspresi, seperti Lisp [31] [32] dan Tcl, secara seragam
menggunakan sintaks prefiks (atau postfiks) untuk semua pernyataan, termasuk penugasan.

(setf variable expression ) Cadel Umum

(set! variable expression ) Skema [33] [34] [35]

set variable expression Tcl

expression variable ! Keempat

24
BAB III
PENUTUP

A. Kesimpulan
Bahasa C++ saat ini sedang dikembangkan untuk membuat perangkat lunak. Sistem

operasi seperti Windows, Linux dan juga jaringan komputer (aplikasi klien/server

terdistribusi), game, driver perangkat keras, dan perangkat lunak diperdalam.

adalah bahasa yang dapat digunakan untuk membuat berbagai aplikasi. Misalnya aplikasi

untuk mengolah gambar, program untuk perangkat, game untuk sistem operasi baru.

Bahasa ini dikembangkan dari bahasa pemrograman C. Tidak heran kedua bahasa ini

memiliki sintaks dan struktur kode yang sama. Perbedaannya adalah C++ adalah pemrograman

berorientasi objek (OOP) sedangkan C adalah bahasa pemrograman prosedural. Dengan kata

lain, bahasa pemrograman C++ memiliki data dan fungsi yang digabungkan ke dalam kelas

dan objek yang bekerja sama untuk menyelesaikan suatu masalah. Jadi jika Anda ingin

mengubah suatu fungsi, Anda tidak perlu mengubah keseluruhan program. Dengan cara ini

mengubah kode lebih fleksibel. Semoga bisa mererapkan prosedur penulisan pemograman

C++ dan juga penugasannya.

B. Saran
Setelah membaca makalah ini, maka diharapkan dapat memahami dan dapat mempraktikkan
bagaimana pemograman C++.

25
DAFTAR PUSTAKA

2018 - Modul Teknik Pemrograman tm.pdf


BelajarDasarALGORITMADANPEMROGRAMANDASARC.pdf

pemrograman c++ builder 3.pdf

55201_0701107802.pdf

phd, s. (2019). pemograman c++ dasar dan berorintasi objek.

26

Anda mungkin juga menyukai