SlideShare a Scribd company logo
1
BAB I PENDAHULUAN
1.1 Latar Belakang
Seiring dengan kemajuan dan perkembangan zaman di er globalisasi ini, manusia
dituntut mengikuti perkembangan ilmu pengetahuan dan teknologi. Semakin
banyaknya perangkat lunak (software), dan semakin meningkatnya kecanggihan perangkat
keras (hardware), maka perangkat komputer sebagai alat bantu menjadi semakin berperan
dalam menyelesaikan suatu pekerjaan. Tersediannya bahasa-bahasa pemprograman
komputer (C++, Pascal, Basic, dan lain-lain) telah mendorong para ahli komputer untuk
merancang sebuah program yang dapat dipergunakan sebagai alat bantu dalam
menyelesaikan sebuah pekerjaan dalam bidang tertentu, misalnya mesin automatic teller
machine (ATM)
Proses dalam program ATM akan mempermudah pengguna dalam bertransaksi. C++
merupakan salah satu software komputer dalam bidang pemprograman dengan
menggunakan bahasa C++ . C++ adalah bahasa pemprograman komputer yang dibuat oleh
Bjane Stroustrup yang merupakan perkembangan dari bahasa C y7ang dikembangakan di Bell
Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa
sebelumnya, yaitu BCL. . Selain membahas tugas besar mengenai program ATM, dalam
laporan ini akan disertai dengan teori singkat dan juga latihan dan tugas yang telah dikerjakan
selama praktikum.
1.2 Tujuan
Tujuan dari pembuatan Program ATM ini adalah
1. Mempermudah pengguna untuk melakukan input transaksi.
2. Memberi kenyamanan pada pengguna karena dapat melakukan transaksi berulang-ulang.
2
BAB II LANDASAN TEORI
2. 1 ALGORITMA
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk
memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat
dikerjakan, dan mempunyai efek tertentu. Algoritma dapat dituliskan dengan banyak cara,
mulai dari menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik alir, sampai
menggunakan bahasa pemprograman seperti bahasa C atau C++
2.2 C & C++
Berbicara tentang C++ biasanya tidak lepas dari C, sebagai bahsa pendahulunya. Penciptaan C
adalah Brian W Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan sekitar satu dekade
setelahya diciptakanlah C++, oleh Bjane Stroustrup dari Laboratorium Bell, AT&T , pada tahun 1983.
C++ disebut “a better C”. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang
berasal dari operator increment pada bahsa C. Keistimewaan yang sangat berarti dari C++ ini adalah
karena bahasa ini mendukung pemprograman yang berorientasi objek (OOP/Object Oriented
Programming). Setiap program C++ mempunyai bentuk umum seperti dibawah ini, yaitu :
# prepocessor directive
void main()
{
// Batang Tubuh Program Utama
}
Penjelasan :
1. Include Adalah salah satu pengarah prepocessor directive yang tersedia pada C++.
Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk
umumnya :
# include <nama_file>
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk
3
per-nyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan ke
pada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h (fileheader)
yaitu file yang berisi sebagai deklarasi contohnya :
- # include <iostream.h>: diperlukan pada program yang melibatkan objek cout
- # include <conio.h : diperlukan bila melibatkan clrscr(), yaitu perintah untuk membersihkan
layar.
- # include <math.h>: diperlukan pada program yang menggunkan operasisqrt () yang berman-
manfaat untuk operasi matematika kuadrat.
2.Fungsi main ()
Fungsi ini menjadi awal dan akhir eksekusi program C++ main adalah nama judul
fungs. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh program
utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program utama ,maka
dapat dipastikan seorang programmer menggunakan minimal sebuah fungsi. Pembahasan lebih
lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang coba ditekankan adalah
kita menuliskan program utama kita didalam sebuah fungsi main().
3. Komentar
Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar,
yaitu:
Jenis 1 : /* Komentar anda diletakkan di dalam ini
Bisa mengapit lebih dari satu baris*/
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )
4.Tanda Semicolon
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap
pernyataan harus diakhiri dengan sebuah tanda semicolon.
4
5. Mengenal cout(dibaca : C out)
Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk meng-
arahkan data ke dalam standar output (cetak pada layar)
Contoh
Tanda “ << “ merupakan sebuah operator yang disebut operator “penyisipan/peletakan”
2.3 VARIABEL
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai
tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai
dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu
variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks
sebagai berikut :
a. variable = ekspresi
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap
berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore).
Yang termasuk symbol khusus yang tidak diperbolehkan antara lain: $, ?, %, #, !,
&, *, (, ), -, +, =dsb.
5
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel yang benar :
NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah :
%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb
2.4 DEKLARASI
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam
program. Identifier dapat berupa variable, konstanta dan fungsi.
2.4.1 DEKLARASI VARIABEL
Bentuk umumnya :
Nama_tipe nama_variabel ;
Contoh :
int x; // Deklarasi x bertipe integer
char y, huruf, nim[10]; // Deklarasi variable bertipe char
float nilai; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double
int array[5][4]; // Deklarasi array bertipe integer
Contoh : Output :
6
2.4.2 DEKLARASI KONSTANTA
a. Menggunakan keyword const
Contoh : const float PI = 3.14152965;
Berbeda dengan variable, konstanta bernama tidak dapat diubah, jika telah diinisialisasi.
b. Menggunakan #define
Contoh : #define PI 3.14152965
Keuntungan menggunakan #define apabila dibandingkan dengan const adalah
kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali
mencari symbol #define ( oleh sebab itu mengapa # dikatakan prepocessor directive) dan
mengganti semua Phi dengan nilai 3.14152965.
Contoh :
2.5 TIPE DATA
Tipe data dapat dikelompokkan menjadi atas dua macam :
1. Tipe Dasar.
2. Tipe Bentukkan.
2.5.1 TIPE DASAR
Adalah tipe yang dapat langsung dipakai.
7
NB : Untuk mengetahui ukuran memori dari suatu tipe digunakan fungsi sizeof(tipe)
Tipe data dapat diubah ( type cast ), misalkan:
float x = 3.345;
int p = int(x); maka nilai p adalah 3 ( terjadi truncating ).
2.5.2 TIPE BENTUKAN
Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur.
2.5.2.1 TIPE STRUKTUR
Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri
dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk
kemudahan dalam operasi.
Bentuk umumnya :
tyedef struct{ tipe nama_field1;
tipe nama_field2;
tipe nama_field3;
....
}nama_variabel;
Tipe Dasar Ukuran Memori
(byte)
Jangkauan Nilai Jumlah
Digit Presisi
Char 1 -128 hingga +127 -
Int 2 -32768 hingga +32767 -
Long 4 -2.147.438.648 hingga
2.147.438.647
-
Float 4 3,4E-38 hingga 3,4E38 6-7
Double 8 1.7E-308 hingga 1.7E308 15-16
long double 10 3.4E-4932 hingga 1.1E4932 19
8
2.6 OPERATOR
Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu
operasi atau manipulasi.
2.6.1 OPERATOR PENUGASAN
Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan
(“=”).
Contoh :
nilai = 80;
A = x * y;
Penjelasan :
variable “nilai” diisi dengan 80 dan
variable “A” diisi dengan hasil perkalian antara x dan
2.6.2 OPERATOR ARITMATIKA
NB : Operator seperti operator negasi (-) disebut unary operato, karena membutuhkan hanya
satu buah operand Operator % (modulus) digunakan untuk mencari sisa pembagian
antara dua bilangan. Misalnya : 9 % 2 = 1, 9 % 3 = 0
Contoh Output :
Operator Deskripsi Contoh
+ Penjumlahan ( Add ) m+n
- Pengurangan ( Substract ) m–n
* Perkalian ( Multiply ) m*n
/ Pembagian ( Divide ) m/n
% Sisa Pembagian Integer ( Modulus ) m%n
- Negasi ( Negate ) -m
9
Karena tipe datanya adalah int, maka 82/26=3, supaya dapat merepresentasikan nila i yang
sebenarnya, gunakan tipe data float. Cara lain penulisan dengan menggunakan operator
aritmatika :
m=m+n  m += n
m=m-n  m -= n
m=m*n  m *= n
m=m/n  m /= n
m=m%n  m %= n
2.6.3 OPERATOR HUBUNGAN (PERBANDINGAN)
Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++
Contoh : Output :
Operator Arti Contoh
== Sama dengan (bukan assignment ) x= =y Apakah x sama dengan
y
!= Tidak sama dengan x != y Apakah x tidak sama
dengan y
> Lebih besar x>y Apakah x lebih besar
dari y
< Lebih kecil x<y Apakah x lebih kecil
dari y
>= Lebih besar atau sama dengan x >= y Apakah x lebih dari
sama dengan y
<= Lebih kecil atau sama dengan x <= y Apakah x kurang dari
sama dengan y
10
2.6.4 OPERATOR NAIK DAN TURUN ( INCREMENT DAN DECREMENT )
Operator increment  ++
Operator decrement  --
contoh : Output :
Terlihat bahwa operator pre-increment dan post-increment memiliki akibat yang sama, yaitu
manambah nilai satu pada m dan memasukkan nilai tersebut kembali ke m (m=m+1).
Hal yang sama juga terjadi pada operator pre-decrement dan post-decrement yang
memberikan akibat yang sama, yaitu mengurangi nilai satu dari n ( n = n - 1). Tetapi bila
digunakan sebagai sub ekspresi,operator post-increment dan pre increment
menunjukkan hasil yang berbeda
Contoh : output :
Penjelasan
Dalam penugasan yang pertama, m adalah pre-increment, menaikkan nilainya menjadi 67,
yang selanjutnya dimasukkan ke n. Dalam penugasan kedua, m adalah post-increment,
sehingga 67 dimasukkan dahulu ke n baru kemudian nila m-nya dinaikkan, itu sebabnya
mengapa nilai m = 68 dan n = 67.
11
Dalam penugasan ketiga, m adalah post increment, sehingga nilai m ( = 68 ) ditampilkan dahulu
( ke layar ) baru kemudian nilai m dinaikkan menjadi 69. Dalam penugasan keempat, m adalah
pre-increment, sehingga nilai m dinaikkan dahulu menjadi 70 baru kemudian
ditampilkan ke layar.
2.6.5 OPERATOR BITWISE
NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau char
2.6.6 OPERATOR LOGIKA
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi
sebuah ungkapan berkondisi.
Contoh : output :
Operator Deskripsi Contoh
&& logic AND m && n
|| logic OR m ||n
! logic NOT !m
Operator Deskripsi Contoh
<< Geser n bit ke kiri ( left shift ) m << n
>> Geser n bit ke kanan ( right shift ) m >> n
& Bitwise AND m&n
| Bitwise OR m|n
^ Bitwise XOR m^n
~ Bitwise NOT ~m
12
2.7 STATEMEN I/O
Pada C++ terdapat 2 jenis I/O dasar, yaitu:
a. Statemen Input adalah Statemen / fungsi yang digunakan untuk membaca data dari
I nputing device (keyboard/mouse), contoh : cout (character out)
b. Statemen Output adalah Statemen yang digunakan untuk menuliskan data ke layar
monitor, contoh : cin (character in)
Contoh : output :
2.8. PEMILIHAN
Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu
dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi.
Ada beberapa bentuk struktur dasar pemilihan ini :
2.8.1 PERNYATAAN if
Sebuah pernyataan yang dapat dipakai muntuk mengambil keputusan berdasarkan suatu
kondisi. Bentuk pernyataan ini ada dua macam :
-if saja dan
-else
Bentuk Umumnya Satu Kasus:
if (kondisi)
pernyataan ;
13
Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak
program tidak memberikan hasil apa-apa.
Contoh :
Output :
Penjelesan :
Tampak bahwa kalau usia yang dimasukkan lebih dari atau sama dengan 17,program tidak
menghasilkan apa-apa.
Bentuk Umumnya Dua Kasus :
if (kondisi)
pernyataan1 ;
else
pernyataan2;
Pernyataan1 dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika
tidak, lakukan pernyataan2.Jika Anda tidak mempergunakan pernyataan else program tidak
akan error, namun jika anda mempergunakan pernyataan else tanpa didahului pernyataan if,
maka program akan error.
Contoh :
14
Output :
Bentuk Umumnya Banyak Kasus :
if (kondisi)
{
pernyataan1;
pernyataan1a;
pernyataan1b;
}
else
{
pernyataan2;
pernyataan2a;
pernyataan2b;
}
Contoh 1 :
output :
15
Contoh 2 :
2.8.2 PERNYATAAN Switch
Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan salah satu
pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan
dan nilai penyeleksian. Pernyataan if…else if jamak dapat dibangun dengan pernyataan switch.
Bentuk Umumnya :
switch (ekspresi)
{
case konstanta1 :
pernyataan1 ;
break ;
case konstanta2 :
pernyataan2 ;
break ;
case konstanta3 :
pernyataan3 ;
break ;
::
case konstantaN :
pernyataanN ;
break ;
default :
pernyataanlain;
}
16
2.9 PENGULANGAN
Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang
terdifinisikan sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua bagian :
1. Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk
melaksanakan pengulangan
2. Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan
diulang.
Perintah atau notasi dalam struktur pengulangan adalah :
1. Pernyataan while
2. Pernyataan do..while
3. Pernyataan for
4. Pernyataan continue dan break
5. Pernyataan go to
2.9.1 PERNYATAAN while
Pernyataan while merupakan salah satu pernyataan yang berguna untuk
memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Pernyataan while
memungkinkan statemen-statemen yang ada didalamnya tidak diakukan sama sekali.
Bentuk Umumnya :
while (kondisi)
{
Pernyataan ;}
Contoh: Output :
17
2.9.2 PERNYATAAN do…while
Pernyataan do…while mirip seperti pernyataan while, hanya saja pada do…while
pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi.
Bentuk Umumnya :
do
{
pernyatan ;
} while (kondisi);
Contoh :
2.9.3 PERNYATAAN for
Pernyataan for digunakan untuk menghasilkan pengulangan (looping) beberapa
kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah
diketahui batas awal, syarat looping dan perubahannya. Pernyataan for digunakan untuk
melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas
awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus
dieksekusi.
Bentuk Umumnya :
for (inisialisasi ; kondisi ; perubahan)
{
Statement;}
18
Contoh : output :
2.10 PROSEDUR
Prosedur adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik
dan menghasilkan suatu efek netto. Suatu efek netto diketahui dengan membandingkan
keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur. Pendefinisian prosedur
artinya menuliskan nama prosedur, mendeklarasikan nama-nama konstanta, peubah dan tipe
(jika ada), dan menjabarkan rangkaian aksi yang dilakukan. Pada dasarnya struktur algoritma
yang sudah kita kenal, yaitu : ada bagian judul (header) yang terdiri atas nama prosedur dan
deklarasi parameter (jika ada), bagian deklarasi untuk mengumumkan nama-nama, bagian
algoritma yang disebut dengan badanprosedur. Dalam penggunaannya prosedur harus
dipanggil di program utama.
2.10.1 PARAMETER
Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header
prosedur. Sebagian besar program memerlukan pertukaran data atau informasi antara
prosedur dan titik di mana ia dipanggil. Penggunaan parameter menawarkan mekanisme
pertukaran informasi tersebut. Tiap item data ditransfer antara parameter aktual dan
parameter formal yang bersesuaian. Parameter aktual (kadang-kadang disebut juga argumen)
adalah parameter yang disertakan pada waktu memanggil prosedur, sedangkan parameter
formal adalah parameter yang dideklarasikan di dalam bagian header prosedur itu sendiri.
19
Contoh pemanggilan prosedur yang tidak memiliki parameter
Penjelasan : Contoh di atas adalh contoh pemanggilan prosedur di program utama. Terdapat tiga prosedur.
Prosedur di atas tidak memiliki pamameter (parameter kosong). Selanjutnya akan ada contoh prosedur
yang disertai dengan parameter.
20
output
2.11. FUNGSI
Fungsi adalah sekumpulan perintah operasi program yang dapat menerima
argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun
sebuah hasil operasi. Hasil akhir fungsi akan berupa sebuah nilai balik (return). Nama fungsi
yang didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in function
pada compiler C++.
Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian program(kode)
berulang-ulang, dapat menyusun kode program agar terlihat lebih rapi dan kemudahan
dalam debugging program. Parameter adalah nama-nama peubah yang dideklarsikan
pada bagian header fungsi. Pemrogram dapat membuat fungsi yang didefinisikan
sendiri olehnya.
Contoh :
21
Penjelasan :
// Fungsi Perkalian
// tipe_return nama_fungsi (tipe_argument argumen)
2.12 LARIK
Larik merupakan sekumpulan data yang mempunyai nama dan tipe yang sama. Larik
sering disebut juga variabel berindeks. Nilai suatu data dalam larik ditentukan oleh nama dan
indeks. Larik banyak digunakan pada operasi yang melibatkan indeks seperti pada statistik
dan matriks.
Tipe data larik dapat berupa larik satu demensi, dua demensi, tiga demens atau
banyak dimensi.
Bentuk Umum Larik Satu Dimensi :
tipe_larik nama_larik [ukuran]
Bentuk Umum Larik Dua Dimensi :
tipe_larik nama_larik [ukuran1][ukuran2]
Perhatikan :
a. Tanda kurung [ ] digunakan untuk menunjukkan elemen larik
b. Perhitungan elemen larik dimulai dari 0, bukan 1
C++ tidak mengecek larik. Bila anda menyatakan int x[10], ini artinya 10 elemen yang dimulai
dari 0. Karena itu elemen terakhir larik adalah x[9]. Bila anda salah mereferensikannya
dengan x[10], anda akan mendapatkan harga yang tidak terpakai. Akan lebih buruk lagi
jika anda memberikan harga ke x[10], yang tidak dapat diterima.
22
2.11.1. REPRESENTASI LARIK
Misalkan kita memiliki sekumpulan data ujian seorang siswa, ujian pertama bernilai
90, kemudian 95,78,85. Sekarang kita ingin menyusunnya sebagai suatu data kumpulan ujian
seorang siswa. Dalam array kita menyusunnya sebagai berikut
ujian[0] = 90;
ujian[1] = 95;
ujian[2] = 78;
ujian[3] = 85;
Empat pernyataan diatas memberikan nilai kepada array ujian. Tetapi sebelum kita memberikan
nilai kepada array, kita harus mendeklarasikannya terlebih dahulu, yaitu : int ujian [4] ;
Perhatikan bahwa nilai 4 yang berada didalam tanda kurung menujukkan jumlah elemen
larik, bukan menunjukkan elemen larik yang ke-4. Jadi elemen larik ujian dimulai dari angka
0 sampai 3. Pemrogram juga dapat menginisialisasi larik sekaligus mendeklarasikannya, sebagai
contoh :
int ujian[4] = {90,95,78,85};
Elemen terakhir dari larik diisi dengan karakter ‘0’. Karakter ini memberitahu kompiler
bahwa akhir dari elemen larik telah dicapai. Walaupun pemrogram tidak dapat melihat karakter
ini secara eksplisit, namun kompiler mengetahui dan membutuhkannya. Sekarang kita akan
membuat daftar beberapa nama pahlawan di Indonesia
char pahlawan[3][15] ;
char pahlawan[0][15] = “Soekarno”;
char pahlawan[1][15] = “Diponegoro”;
char pahlawan[2][15] = “Soedirman”;
Larik diatas terlihat berbeda dengan contoh larik pertama kita. Perhatikan bahwa pada larik
pahlawan memilih dua buah tanda kurung [ ][ ]. Larik seperti itu disebut larik dua dimensi
Tanda kurung pertama menyatakan total elemen yang dapt dimiliki oleh larik pahlawan dan
23
tanda kurung kedua menyatakan total elemen yang dapat dimiliki setiap elemen larik pahlawan
Dalam contoh diatas, tanda kurung kedua menyatakan karakter yang menyatakan nama
pahlawan.
2.11.2. MENGHITUNG JUMLAH ELEMEN ARRAY
Karena fungsi sizeof() mengembalikan jumlah byte yang sesuai dengan argumen
nya, maka operator tersebut dapat digunakan untuk menemukan jumlah elemenarray, misalnya
int array[ ] = {26,7,82,166};
cout<<sizeof(array)/sizeof(int);
akan mengembalikan nilai 4, yaitu sama dengan jumlah elemen yang dimiliki larik.
2.11.3. MELEWATKAN ARRAY SEBAGAI ARGUMEN FUNGSI
Larik dapat dikirim dan dikembalikan oleh fungsi. Pada saat larik dikirim ke dalam
fungsi, nilai aktualnya dapat dimanipulasi
Contoh :
Output :
24
Contoh array dua dimensi yaitu matriks :
25
Berikut ini adalah beberapa latihan, tugas, dan kuis praktikum algoritma dan pemprograman :
1. Pemilihan menghitung bangun datar dan ruang
2. Program Tiket Bioskop menggunakan pemilihan dengan banyak kasus
26
output
3. Program segitiga bintang menggunakan penggulangan for.
27
BAB III IMPLEMENTASI
3.1. Deskripsi Masalah
Di era globalisasi seperti sekarang ini, kebutuhan masyarakat dalam bertransaksi
kian bertambah. Masyarakat membutuhkan suatu sistem yang dapat memberikan
kemudahan dalam bertransaksi, misalnya kita ingin mentransfer uang, kita tidak perlu
repot untuk mengantri di bank berjam jam, karena kita cukup datang ke ATM bank dan
melakukan transaksi yang kita inginkan. Kemudahan bertransaksi inilah yang menjadi
salah satu tujuan dibuatnya program ATM sederhana yang akan dibahasa pada bab ini.
3.2 Batasan Masalah
Dalam program ATM sederhana ini, terdapat lima menu utama yaitu informasi
saldo, penarikan tunai, transfer, pengisian pulsa, pembayaran. Menu informasi saldo
menampilkan saldo user, dalam hal ini saldonya telah saya tetapkan. Pada menu
penarikan tunai, user bisa mengambil uang, namun jika saldonya kurang dari Rp
50.000,00 maka penarikan tunai tidak dapat dilakukan. Selanjutnya pada menu transfer,
user bisa mentrasfer uang dengan terlebih dahulu memasukkan nomor rekening tujuan.
Dan pada menu pembayaran user dapat melakukan pembayaran tagihan listrik, air dan
kartu kredit dengan memasukkan ID terlebih dahulu.
3.3 Source Code Beserta Penjelasan
Program ATM sederhana yang saya buat terdiri dari lima prosedur utama dan satu
prosedur tambahan yang masing-masing prosedur tersebut dipanggil di program utama,
prosedur akan berjalan sesuai dengan pilihan menu yang diinputkan users. Program ini
diawali dengan memasukkan pin atau password, dalam program ini password sudah saya
atur terlebih dahulu. Untuk lebih jelaa, selanjutnya saya akan memperihatkan gambar
hasil coding, hasi output atau keluarannya, beserta penjelasannya.
28
Berikut ini adah source code program ATM sederhana
Pada program ini saya menggunakan dua header yaitu #include<iostream.h> dan
#include<conio.h> . Fungsi keduannya dapat anda baca pada bab II. Saya menggunakan
dua header ini karena dalam program ini terdapat perintah umum seperti cout dan cin
dan juga terdapat perintah untuk membersihkan layar yaitu clrscr () . Selain itu saya juga
menggunakan konstanta global (#define) yang diletakkan sebelum void main. konstanta
ini saya perlukan untuk nilai saldo dan tagihan-tagihan agar semua prosedur bisa dengan
mudah mengakses konstanta ini sehingga proses lebih cepat.
Seperti yang saya sampaikan sebelumnya, program ini terdiri dari enam prosedur.
Dimana masing-masing prosedur memiliki tugas yang berbeda-beda. Dalam prosedur ini
saya menggunakan parameter aktual dan formal agar pertukaran informasi anatara
prosedur dan titik dimana ia dipanggil. Jika anda melihat ada gotoxy (33,9) itu adalah
fungsi untuk mengatur titik x dan y agar letak tampilan di monitor sesuai dengan yang kita
inginkan.
Selanjutnya dalam program utama, pertama saya mendeklarasian semua variabel
yang digunakan pada program utama dan prosedur, saya menambahkan perintah untuk
menampilkan menu berulang-ulang setelah transaksi selesai dikerjakan. Selain itu juga
ada perintah untuk memasukkan password sebelum menu utama tampil. Untuk lebih
jelasnya berikut code dan outputnya.
konstanta
header
Prosedur dan parameternya
29
Pengulangan menampilkan menu akan berjalan selama user menginputkan huruf Y atau y.
Dan pada permintaan password, jika password yang dimasukkan cocok (saya mengatur
password = 1234) maka program akan berjalan dengan menampilkan menu transaksi.
Namun jika tidak aka nada peringatan bahwa password yang anda masukkan salah. Dan
peritah pengulangan pun akan tampil.
Permintaan password
Pengulangan
30
Setelah memasukkan password. User akan diminta untuk memilih menu
transaksi.
Dalam hal ini saya menggunakan fungsi pemilihan (if-else). Jika user menginputkan
pilihan=1 maka prosedur yang akan dipanggil adalah prosedur infosaldo.
Dan proses dalam prosedur akan tampil di layar seperti gambar di atas. Karena saya telah
menetapkan bahwa saldonya adalah Rp 1.000.000,- pada konstanta global maka seperti
itu outputnya. Dan ada lagi menu pengulangan. Jika user menginputkan y atay Y maka
user akan diminta untuk memasukkan password dan akan tampil lagi menu transaksi.
Selanjutnya jika user memilih untuk melakukan penarikan tunai, maka user harus
menginputkan angka 2. Dan prosedur penarikan akan berjalan dan keluarannya akan
meminta user untuk memasukkan jumlah nominal yang ingin diambil, lalu proses
penghitungan saldo setelah dikurangi dengan jumlah nominal yang diambil.
31
Jika user memilih transaksi transfer (pil==3) maka prosedur transfer akan
menjalankan tugasnya. Pertama user akan diminta untuk memasukkan no rekening tujuan
yang telah saya atur panjangnya maksimal 15 digit. Kemudian user diminta untuk
memasukkan jumlah nominal yang akan di transfer.
Kemudian jika user memilih untuk mengisi pulsa (pil==4) maka prosedur isipulsa
akan menjalankan tugasnya. Dalam prosedur ini saya menggunakan dua kali perintah
pemilihan. Pemilihan pertama untuk memilih kartu provider, pemilihan kedua yaitu
nominal pulsa yang diinginkan. User juga akan diminta untuk memasukan nomor tujuan
yang akan diisikan pulsa.
32
Pemilihan kartu dan masukkan no tujuan Pemilihan nominal pulsa
Prosedur yang kelima adalah prosedur pembayaran. Jika user memilih menu ini
maka user harus memilih akan melakukan pembayaran listrik, air atau kartu kredit.
Namun sebelumnya user harus memasukkan ID, dalam hal ini ID telah saya atur
sebelumnya. Jika ID benar maka akan muncul nama pemilik tagihan listrik. Selanjutnnya
akan tampil tagihan yang harus dibayarkan oleh user. Dalam prosedur ini saya
menggunakan perintah pemilihan dengan banyak kasus.
33
34
Menu yang terakhir adalah menu keluar. Jika user memilih untuk keluar maka akan
tampil
Jika pada saat memilih menu user salah dalam menginputkan angka (bukan angka 1-6)
maka akan tampil pemberitahuan bahwa pilihan tidak tersedia.
Dan jika user menginputkan selain huruf Y atau y pada pengulangan maka program akan
berhenti.
35
BAB IV PENUTUP
A. Kesimpulan
Pada praktikum Algoritma dan Pemrograman I , kami telah mempelajari dan
mengimplementasikan materi yang diberikan yaitu :
a. struktur dasar Algoritma
b. notasi Algoritmik
c. tipe, operator dan ekspresi
d. runtunan
e. pemilihan
f. pengulangan
g. prosedur
h. fungsi
Selain mempelajari materi-materi tersebut kami juga telah mengimplementasikan materi
tersebut dengan cara membuat program baru (yang belum pernah ditugaskan pada saat
praktikum). Pada kesempatan ini saya membuat program ATM sederhana. Program ini
dibuat untuk memenuhi kebutuhan user dalam bertransaksi dan memberikan kemudahan
kepada user karena program ini mencakup beberapa transaksi-transaksi yang biasa
dibutuhkan user. Program ini terdiri atas prosedur-prosedur yang didalamnya terdapat
pertintah pemilihan,pengulangan dan juga array satu dimensi.
B. Saran
Program yang saya buat masih dapat dikembangkan menjadi program ATM yang
lebih lengkap dan penghitungan saldo yang lebih matang, karena program ini belum
dapat mengurangi saldo setelah user melakukan transaksi 1 dan melanjutkan ke transaksi
berikutnya. Program ini juga dapat dibuat dengan tampilan yang lebih menarik.
36
DAFTAR PUSTAKA
Munir rinaldi. 2011. Algoritma dan Pemprograman dalam bahsa Pascal dan C Edisi Revisi.
Bandung:Informatika
PIT,Laboratorium.Modul Praktikum Algoritma dan Pemrograman 1. Laboratorium
Pemrograman dan Informatika Teori. 2010. Jurusan Teknik
Informatika Fakultas Teknologi Industri Universitas Islam Indonesia Yogyakarta.
http://float-achinqs.blogspot.com/p/praktikum-algoritma-pemrograman.html

More Related Content

What's hot

sistem koordinat vektor (kartesian, silindris, bola)
sistem koordinat vektor (kartesian, silindris, bola)sistem koordinat vektor (kartesian, silindris, bola)
sistem koordinat vektor (kartesian, silindris, bola)
Albara I Arizona
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
Fahrul Usman
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik Trapesium
Wahyu Priyanti
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanCliquerz Javaneze
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
Septi Ratnasari
 
Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )
Kelinci Coklat
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
Izhan Nassuha
 
Medan elektromagnetik 2
Medan elektromagnetik 2Medan elektromagnetik 2
Medan elektromagnetik 2
sinta novita
 
Modul persamaan diferensial 1
Modul persamaan diferensial 1Modul persamaan diferensial 1
Modul persamaan diferensial 1
Maya Umami
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
Sherly Uda
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Nabil Muhammad Firdaus
 
4 Menggambar Grafik Fungsi Dengan Matlab
4 Menggambar Grafik Fungsi Dengan Matlab4 Menggambar Grafik Fungsi Dengan Matlab
4 Menggambar Grafik Fungsi Dengan Matlab
Simon Patabang
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanFahrul Razi
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
zachrison htg
 
Pertemuan 3 turunan dan aturan rantai
Pertemuan 3   turunan dan aturan rantaiPertemuan 3   turunan dan aturan rantai
Pertemuan 3 turunan dan aturan rantai
Senat Mahasiswa STIS
 
Modul teknik-digital
Modul teknik-digitalModul teknik-digital
Modul teknik-digitalecko gmc
 
Laporan praktikum karakteristik dioda
Laporan praktikum karakteristik diodaLaporan praktikum karakteristik dioda
Laporan praktikum karakteristik dioda
Ilham Kholfihim Marpaung
 

What's hot (20)

sistem koordinat vektor (kartesian, silindris, bola)
sistem koordinat vektor (kartesian, silindris, bola)sistem koordinat vektor (kartesian, silindris, bola)
sistem koordinat vektor (kartesian, silindris, bola)
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik Trapesium
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
 
02.logika
02.logika02.logika
02.logika
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
 
Medan elektromagnetik 2
Medan elektromagnetik 2Medan elektromagnetik 2
Medan elektromagnetik 2
 
Modul persamaan diferensial 1
Modul persamaan diferensial 1Modul persamaan diferensial 1
Modul persamaan diferensial 1
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
4 Menggambar Grafik Fungsi Dengan Matlab
4 Menggambar Grafik Fungsi Dengan Matlab4 Menggambar Grafik Fungsi Dengan Matlab
4 Menggambar Grafik Fungsi Dengan Matlab
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi Boolean
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
Pertemuan 3 turunan dan aturan rantai
Pertemuan 3   turunan dan aturan rantaiPertemuan 3   turunan dan aturan rantai
Pertemuan 3 turunan dan aturan rantai
 
Modul teknik-digital
Modul teknik-digitalModul teknik-digital
Modul teknik-digital
 
Laporan praktikum karakteristik dioda
Laporan praktikum karakteristik diodaLaporan praktikum karakteristik dioda
Laporan praktikum karakteristik dioda
 

Viewers also liked

laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1
bejarangkunjui
 
Motivação e Tendências
Motivação e TendênciasMotivação e Tendências
Motivação e Tendências
Fernando Novais da Silva
 
Hermeneutika dan pengembangan ulumul qur’an
Hermeneutika dan pengembangan ulumul qur’anHermeneutika dan pengembangan ulumul qur’an
Hermeneutika dan pengembangan ulumul qur’anIffa Tabahati
 
Kajian lapangan badan amil zakat daerah kota yogyakarta
Kajian lapangan badan amil zakat daerah kota yogyakartaKajian lapangan badan amil zakat daerah kota yogyakarta
Kajian lapangan badan amil zakat daerah kota yogyakartaIffa Tabahati
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
Senna Hendrian
 
Proposal penelitian metopen
Proposal penelitian metopenProposal penelitian metopen
Proposal penelitian metopenIffa Tabahati
 
Bab ii anggaran sebagai alat perencanaan dan pengawasan
Bab ii   anggaran sebagai alat perencanaan dan pengawasanBab ii   anggaran sebagai alat perencanaan dan pengawasan
Bab ii anggaran sebagai alat perencanaan dan pengawasanIffa Tabahati
 
Estimasi biaya dan analisis biaya, volume laba
Estimasi biaya dan analisis biaya, volume labaEstimasi biaya dan analisis biaya, volume laba
Estimasi biaya dan analisis biaya, volume labaIffa Tabahati
 
Sum of product dan product of sum
Sum of product dan product of sumSum of product dan product of sum
Sum of product dan product of sumArlis Ikhla Afrina
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
Meycelino A. T
 
Psap 13-plk-blu-ver-ksap-final
Psap 13-plk-blu-ver-ksap-finalPsap 13-plk-blu-ver-ksap-final
Psap 13-plk-blu-ver-ksap-final
EnvaPya
 
Tugas asp 2 analisis apbn 2016
Tugas asp 2 analisis apbn 2016Tugas asp 2 analisis apbn 2016
Tugas asp 2 analisis apbn 2016
EnvaPya
 
Tutorial mat lab_teguhw
Tutorial mat lab_teguhwTutorial mat lab_teguhw
Tutorial mat lab_teguhwDimaz Gunawan
 
PRESENTASI PERPAJAKAN (PBB)
PRESENTASI PERPAJAKAN (PBB)PRESENTASI PERPAJAKAN (PBB)
PRESENTASI PERPAJAKAN (PBB)Iffa Tabahati
 

Viewers also liked (16)

laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1
 
Motivação e Tendências
Motivação e TendênciasMotivação e Tendências
Motivação e Tendências
 
Hermeneutika dan pengembangan ulumul qur’an
Hermeneutika dan pengembangan ulumul qur’anHermeneutika dan pengembangan ulumul qur’an
Hermeneutika dan pengembangan ulumul qur’an
 
Kajian lapangan badan amil zakat daerah kota yogyakarta
Kajian lapangan badan amil zakat daerah kota yogyakartaKajian lapangan badan amil zakat daerah kota yogyakarta
Kajian lapangan badan amil zakat daerah kota yogyakarta
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
 
Proposal penelitian metopen
Proposal penelitian metopenProposal penelitian metopen
Proposal penelitian metopen
 
Bab ii anggaran sebagai alat perencanaan dan pengawasan
Bab ii   anggaran sebagai alat perencanaan dan pengawasanBab ii   anggaran sebagai alat perencanaan dan pengawasan
Bab ii anggaran sebagai alat perencanaan dan pengawasan
 
Estimasi biaya dan analisis biaya, volume laba
Estimasi biaya dan analisis biaya, volume labaEstimasi biaya dan analisis biaya, volume laba
Estimasi biaya dan analisis biaya, volume laba
 
Sum of product dan product of sum
Sum of product dan product of sumSum of product dan product of sum
Sum of product dan product of sum
 
Dasar pemrograman
Dasar pemrogramanDasar pemrograman
Dasar pemrograman
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
 
Psap 13-plk-blu-ver-ksap-final
Psap 13-plk-blu-ver-ksap-finalPsap 13-plk-blu-ver-ksap-final
Psap 13-plk-blu-ver-ksap-final
 
Tugas asp 2 analisis apbn 2016
Tugas asp 2 analisis apbn 2016Tugas asp 2 analisis apbn 2016
Tugas asp 2 analisis apbn 2016
 
White cement pp
White cement ppWhite cement pp
White cement pp
 
Tutorial mat lab_teguhw
Tutorial mat lab_teguhwTutorial mat lab_teguhw
Tutorial mat lab_teguhw
 
PRESENTASI PERPAJAKAN (PBB)
PRESENTASI PERPAJAKAN (PBB)PRESENTASI PERPAJAKAN (PBB)
PRESENTASI PERPAJAKAN (PBB)
 

Similar to Laporan Praktikum Algoritma

Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
C++
C++C++
m01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptm01-struktur-dasar-c.ppt
m01-struktur-dasar-c.ppt
misrianaputri1
 
C++ lengkap
C++ lengkap C++ lengkap
C++ lengkap
hidayatrudy
 
pengenalan c+
pengenalan c+pengenalan c+
pengenalan c+aks247
 
struktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdfstruktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdf
Mahmud165895
 
Bahasa c++ (p)
Bahasa c++ (p)Bahasa c++ (p)
Bahasa c++ (p)Eddy_TKJ
 
Pengenalan c++
Pengenalan c++Pengenalan c++
Pengenalan c++
Amalia Prahesti
 
C++
C++C++
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
Rangga Ananto
 
Modul praktikum c++
Modul praktikum c++Modul praktikum c++
Modul praktikum c++
Yunus Bati Al Tidore
 
Algoritma modul
Algoritma modulAlgoritma modul
Algoritma modul
Irwin andriyanto
 
Penjelasan Tentang Module Algo
Penjelasan Tentang Module AlgoPenjelasan Tentang Module Algo
Penjelasan Tentang Module Algo
APK BARU
 
Modul Praktikum Algoritma dan Pemrograman
Modul Praktikum Algoritma dan PemrogramanModul Praktikum Algoritma dan Pemrograman
Modul Praktikum Algoritma dan Pemrograman
Irwien Andriyanto
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2
Dede Kurniadi
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
HedyIzmaya
 

Similar to Laporan Praktikum Algoritma (20)

Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
C++
C++C++
C++
 
m01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptm01-struktur-dasar-c.ppt
m01-struktur-dasar-c.ppt
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
C++ lengkap
C++ lengkap C++ lengkap
C++ lengkap
 
pengenalan c+
pengenalan c+pengenalan c+
pengenalan c+
 
struktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdfstruktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdf
 
Modul latihan-c -
Modul latihan-c -Modul latihan-c -
Modul latihan-c -
 
Bahasa c++ (p)
Bahasa c++ (p)Bahasa c++ (p)
Bahasa c++ (p)
 
Pengenalan c++
Pengenalan c++Pengenalan c++
Pengenalan c++
 
C++
C++C++
C++
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
 
Modul praktikum c++
Modul praktikum c++Modul praktikum c++
Modul praktikum c++
 
Algoritma modul
Algoritma modulAlgoritma modul
Algoritma modul
 
Penjelasan Tentang Module Algo
Penjelasan Tentang Module AlgoPenjelasan Tentang Module Algo
Penjelasan Tentang Module Algo
 
Algoritma
AlgoritmaAlgoritma
Algoritma
 
Modul Praktikum Algoritma dan Pemrograman
Modul Praktikum Algoritma dan PemrogramanModul Praktikum Algoritma dan Pemrograman
Modul Praktikum Algoritma dan Pemrograman
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 

More from EnvaPya

Contoh SOAL Akuntansi Sektor Publik 1
Contoh SOAL Akuntansi Sektor Publik 1Contoh SOAL Akuntansi Sektor Publik 1
Contoh SOAL Akuntansi Sektor Publik 1
EnvaPya
 
Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123
Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123
Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123
EnvaPya
 
Pmk 50 pmk06 2014_penghapusan_ok
Pmk 50 pmk06 2014_penghapusan_okPmk 50 pmk06 2014_penghapusan_ok
Pmk 50 pmk06 2014_penghapusan_ok
EnvaPya
 
Perbedaan SAP dan SAP negara lain internasional
Perbedaan SAP dan SAP negara lain internasional Perbedaan SAP dan SAP negara lain internasional
Perbedaan SAP dan SAP negara lain internasional
EnvaPya
 
Laporan jarkom network troubleshooting
Laporan jarkom network troubleshootingLaporan jarkom network troubleshooting
Laporan jarkom network troubleshooting
EnvaPya
 
fungsi konsumsi - matematika ekonomi
fungsi konsumsi - matematika ekonomifungsi konsumsi - matematika ekonomi
fungsi konsumsi - matematika ekonomi
EnvaPya
 
impementasi nts, nslookup, netstat,ipconfig,dns
 impementasi nts, nslookup, netstat,ipconfig,dns impementasi nts, nslookup, netstat,ipconfig,dns
impementasi nts, nslookup, netstat,ipconfig,dns
EnvaPya
 
ILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGAN
ILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGANILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGAN
ILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGAN
EnvaPya
 
RELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASI
RELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASIRELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASI
RELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASI
EnvaPya
 
Rencana bisnis futsal- Manajemen bisnis
Rencana bisnis futsal- Manajemen bisnisRencana bisnis futsal- Manajemen bisnis
Rencana bisnis futsal- Manajemen bisnis
EnvaPya
 
Karangan argumentasi
Karangan argumentasiKarangan argumentasi
Karangan argumentasi
EnvaPya
 
CONVINCING THEM YOU’RE RIGHT FOR THE JOB
CONVINCING THEM YOU’RE RIGHT FOR THE JOBCONVINCING THEM YOU’RE RIGHT FOR THE JOB
CONVINCING THEM YOU’RE RIGHT FOR THE JOB
EnvaPya
 
Laporan praktikum statistik deskriptif
Laporan praktikum statistik deskriptif Laporan praktikum statistik deskriptif
Laporan praktikum statistik deskriptif
EnvaPya
 
Ringkasan Pernyataan Standar Akuntansi Pemerintah
Ringkasan Pernyataan Standar Akuntansi PemerintahRingkasan Pernyataan Standar Akuntansi Pemerintah
Ringkasan Pernyataan Standar Akuntansi Pemerintah
EnvaPya
 
manajemen sumber daya manusia K3
manajemen sumber daya manusia K3manajemen sumber daya manusia K3
manajemen sumber daya manusia K3
EnvaPya
 
Sistem informasi manajemen pendidikan
Sistem informasi manajemen pendidikanSistem informasi manajemen pendidikan
Sistem informasi manajemen pendidikan
EnvaPya
 
Ppbj modul02materi02ver-140414210001-phpapp01
Ppbj modul02materi02ver-140414210001-phpapp01Ppbj modul02materi02ver-140414210001-phpapp01
Ppbj modul02materi02ver-140414210001-phpapp01
EnvaPya
 
Pengawasan keuangan negara
Pengawasan keuangan negaraPengawasan keuangan negara
Pengawasan keuangan negara
EnvaPya
 
Kebijakan publik
Kebijakan publikKebijakan publik
Kebijakan publik
EnvaPya
 
Tinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) ppt
Tinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) pptTinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) ppt
Tinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) ppt
EnvaPya
 

More from EnvaPya (20)

Contoh SOAL Akuntansi Sektor Publik 1
Contoh SOAL Akuntansi Sektor Publik 1Contoh SOAL Akuntansi Sektor Publik 1
Contoh SOAL Akuntansi Sektor Publik 1
 
Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123
Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123
Matriks perbedaan-perpres-54-tahun-2010-dan-perpres-70-tahun-20123
 
Pmk 50 pmk06 2014_penghapusan_ok
Pmk 50 pmk06 2014_penghapusan_okPmk 50 pmk06 2014_penghapusan_ok
Pmk 50 pmk06 2014_penghapusan_ok
 
Perbedaan SAP dan SAP negara lain internasional
Perbedaan SAP dan SAP negara lain internasional Perbedaan SAP dan SAP negara lain internasional
Perbedaan SAP dan SAP negara lain internasional
 
Laporan jarkom network troubleshooting
Laporan jarkom network troubleshootingLaporan jarkom network troubleshooting
Laporan jarkom network troubleshooting
 
fungsi konsumsi - matematika ekonomi
fungsi konsumsi - matematika ekonomifungsi konsumsi - matematika ekonomi
fungsi konsumsi - matematika ekonomi
 
impementasi nts, nslookup, netstat,ipconfig,dns
 impementasi nts, nslookup, netstat,ipconfig,dns impementasi nts, nslookup, netstat,ipconfig,dns
impementasi nts, nslookup, netstat,ipconfig,dns
 
ILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGAN
ILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGANILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGAN
ILMU SOSIAL DAN BUDAYA DASAR MANUSIA DAN LINGKUNGAN
 
RELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASI
RELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASIRELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASI
RELEVANSI PANCASILA SEBAGAI IDEOLOGI TERBUKA DI ERA GLOBALISASI
 
Rencana bisnis futsal- Manajemen bisnis
Rencana bisnis futsal- Manajemen bisnisRencana bisnis futsal- Manajemen bisnis
Rencana bisnis futsal- Manajemen bisnis
 
Karangan argumentasi
Karangan argumentasiKarangan argumentasi
Karangan argumentasi
 
CONVINCING THEM YOU’RE RIGHT FOR THE JOB
CONVINCING THEM YOU’RE RIGHT FOR THE JOBCONVINCING THEM YOU’RE RIGHT FOR THE JOB
CONVINCING THEM YOU’RE RIGHT FOR THE JOB
 
Laporan praktikum statistik deskriptif
Laporan praktikum statistik deskriptif Laporan praktikum statistik deskriptif
Laporan praktikum statistik deskriptif
 
Ringkasan Pernyataan Standar Akuntansi Pemerintah
Ringkasan Pernyataan Standar Akuntansi PemerintahRingkasan Pernyataan Standar Akuntansi Pemerintah
Ringkasan Pernyataan Standar Akuntansi Pemerintah
 
manajemen sumber daya manusia K3
manajemen sumber daya manusia K3manajemen sumber daya manusia K3
manajemen sumber daya manusia K3
 
Sistem informasi manajemen pendidikan
Sistem informasi manajemen pendidikanSistem informasi manajemen pendidikan
Sistem informasi manajemen pendidikan
 
Ppbj modul02materi02ver-140414210001-phpapp01
Ppbj modul02materi02ver-140414210001-phpapp01Ppbj modul02materi02ver-140414210001-phpapp01
Ppbj modul02materi02ver-140414210001-phpapp01
 
Pengawasan keuangan negara
Pengawasan keuangan negaraPengawasan keuangan negara
Pengawasan keuangan negara
 
Kebijakan publik
Kebijakan publikKebijakan publik
Kebijakan publik
 
Tinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) ppt
Tinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) pptTinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) ppt
Tinjauan atas formula Perhitungan Dana Alokasi Umum (DAU) ppt
 

Laporan Praktikum Algoritma

  • 1. 1 BAB I PENDAHULUAN 1.1 Latar Belakang Seiring dengan kemajuan dan perkembangan zaman di er globalisasi ini, manusia dituntut mengikuti perkembangan ilmu pengetahuan dan teknologi. Semakin banyaknya perangkat lunak (software), dan semakin meningkatnya kecanggihan perangkat keras (hardware), maka perangkat komputer sebagai alat bantu menjadi semakin berperan dalam menyelesaikan suatu pekerjaan. Tersediannya bahasa-bahasa pemprograman komputer (C++, Pascal, Basic, dan lain-lain) telah mendorong para ahli komputer untuk merancang sebuah program yang dapat dipergunakan sebagai alat bantu dalam menyelesaikan sebuah pekerjaan dalam bidang tertentu, misalnya mesin automatic teller machine (ATM) Proses dalam program ATM akan mempermudah pengguna dalam bertransaksi. C++ merupakan salah satu software komputer dalam bidang pemprograman dengan menggunakan bahasa C++ . C++ adalah bahasa pemprograman komputer yang dibuat oleh Bjane Stroustrup yang merupakan perkembangan dari bahasa C y7ang dikembangakan di Bell Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL. . Selain membahas tugas besar mengenai program ATM, dalam laporan ini akan disertai dengan teori singkat dan juga latihan dan tugas yang telah dikerjakan selama praktikum. 1.2 Tujuan Tujuan dari pembuatan Program ATM ini adalah 1. Mempermudah pengguna untuk melakukan input transaksi. 2. Memberi kenyamanan pada pengguna karena dapat melakukan transaksi berulang-ulang.
  • 2. 2 BAB II LANDASAN TEORI 2. 1 ALGORITMA Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan, dan mempunyai efek tertentu. Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik alir, sampai menggunakan bahasa pemprograman seperti bahasa C atau C++ 2.2 C & C++ Berbicara tentang C++ biasanya tidak lepas dari C, sebagai bahsa pendahulunya. Penciptaan C adalah Brian W Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan sekitar satu dekade setelahya diciptakanlah C++, oleh Bjane Stroustrup dari Laboratorium Bell, AT&T , pada tahun 1983. C++ disebut “a better C”. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada bahsa C. Keistimewaan yang sangat berarti dari C++ ini adalah karena bahasa ini mendukung pemprograman yang berorientasi objek (OOP/Object Oriented Programming). Setiap program C++ mempunyai bentuk umum seperti dibawah ini, yaitu : # prepocessor directive void main() { // Batang Tubuh Program Utama } Penjelasan : 1. Include Adalah salah satu pengarah prepocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya : # include <nama_file> tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk
  • 3. 3 per-nyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan ke pada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h (fileheader) yaitu file yang berisi sebagai deklarasi contohnya : - # include <iostream.h>: diperlukan pada program yang melibatkan objek cout - # include <conio.h : diperlukan bila melibatkan clrscr(), yaitu perintah untuk membersihkan layar. - # include <math.h>: diperlukan pada program yang menggunkan operasisqrt () yang berman- manfaat untuk operasi matematika kuadrat. 2.Fungsi main () Fungsi ini menjadi awal dan akhir eksekusi program C++ main adalah nama judul fungs. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program utama ,maka dapat dipastikan seorang programmer menggunakan minimal sebuah fungsi. Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi main(). 3. Komentar Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar, yaitu: Jenis 1 : /* Komentar anda diletakkan di dalam ini Bisa mengapit lebih dari satu baris*/ Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris ) 4.Tanda Semicolon Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon.
  • 4. 4 5. Mengenal cout(dibaca : C out) Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk meng- arahkan data ke dalam standar output (cetak pada layar) Contoh Tanda “ << “ merupakan sebuah operator yang disebut operator “penyisipan/peletakan” 2.3 VARIABEL Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut : a. variable = ekspresi Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut : 1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda. 2. Tidak boleh mengandung spasi. 3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain: $, ?, %, #, !, &, *, (, ), -, +, =dsb.
  • 5. 5 4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai. Contoh penamaan variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb. Contoh penamaan variable yang salah : %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb 2.4 DEKLARASI Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi. 2.4.1 DEKLARASI VARIABEL Bentuk umumnya : Nama_tipe nama_variabel ; Contoh : int x; // Deklarasi x bertipe integer char y, huruf, nim[10]; // Deklarasi variable bertipe char float nilai; // Deklarasi variable bertipe float double beta; // Deklarasi variable bertipe double int array[5][4]; // Deklarasi array bertipe integer Contoh : Output :
  • 6. 6 2.4.2 DEKLARASI KONSTANTA a. Menggunakan keyword const Contoh : const float PI = 3.14152965; Berbeda dengan variable, konstanta bernama tidak dapat diubah, jika telah diinisialisasi. b. Menggunakan #define Contoh : #define PI 3.14152965 Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari symbol #define ( oleh sebab itu mengapa # dikatakan prepocessor directive) dan mengganti semua Phi dengan nilai 3.14152965. Contoh : 2.5 TIPE DATA Tipe data dapat dikelompokkan menjadi atas dua macam : 1. Tipe Dasar. 2. Tipe Bentukkan. 2.5.1 TIPE DASAR Adalah tipe yang dapat langsung dipakai.
  • 7. 7 NB : Untuk mengetahui ukuran memori dari suatu tipe digunakan fungsi sizeof(tipe) Tipe data dapat diubah ( type cast ), misalkan: float x = 3.345; int p = int(x); maka nilai p adalah 3 ( terjadi truncating ). 2.5.2 TIPE BENTUKAN Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur. 2.5.2.1 TIPE STRUKTUR Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk kemudahan dalam operasi. Bentuk umumnya : tyedef struct{ tipe nama_field1; tipe nama_field2; tipe nama_field3; .... }nama_variabel; Tipe Dasar Ukuran Memori (byte) Jangkauan Nilai Jumlah Digit Presisi Char 1 -128 hingga +127 - Int 2 -32768 hingga +32767 - Long 4 -2.147.438.648 hingga 2.147.438.647 - Float 4 3,4E-38 hingga 3,4E38 6-7 Double 8 1.7E-308 hingga 1.7E308 15-16 long double 10 3.4E-4932 hingga 1.1E4932 19
  • 8. 8 2.6 OPERATOR Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi. 2.6.1 OPERATOR PENUGASAN Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan (“=”). Contoh : nilai = 80; A = x * y; Penjelasan : variable “nilai” diisi dengan 80 dan variable “A” diisi dengan hasil perkalian antara x dan 2.6.2 OPERATOR ARITMATIKA NB : Operator seperti operator negasi (-) disebut unary operato, karena membutuhkan hanya satu buah operand Operator % (modulus) digunakan untuk mencari sisa pembagian antara dua bilangan. Misalnya : 9 % 2 = 1, 9 % 3 = 0 Contoh Output : Operator Deskripsi Contoh + Penjumlahan ( Add ) m+n - Pengurangan ( Substract ) m–n * Perkalian ( Multiply ) m*n / Pembagian ( Divide ) m/n % Sisa Pembagian Integer ( Modulus ) m%n - Negasi ( Negate ) -m
  • 9. 9 Karena tipe datanya adalah int, maka 82/26=3, supaya dapat merepresentasikan nila i yang sebenarnya, gunakan tipe data float. Cara lain penulisan dengan menggunakan operator aritmatika : m=m+n  m += n m=m-n  m -= n m=m*n  m *= n m=m/n  m /= n m=m%n  m %= n 2.6.3 OPERATOR HUBUNGAN (PERBANDINGAN) Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++ Contoh : Output : Operator Arti Contoh == Sama dengan (bukan assignment ) x= =y Apakah x sama dengan y != Tidak sama dengan x != y Apakah x tidak sama dengan y > Lebih besar x>y Apakah x lebih besar dari y < Lebih kecil x<y Apakah x lebih kecil dari y >= Lebih besar atau sama dengan x >= y Apakah x lebih dari sama dengan y <= Lebih kecil atau sama dengan x <= y Apakah x kurang dari sama dengan y
  • 10. 10 2.6.4 OPERATOR NAIK DAN TURUN ( INCREMENT DAN DECREMENT ) Operator increment  ++ Operator decrement  -- contoh : Output : Terlihat bahwa operator pre-increment dan post-increment memiliki akibat yang sama, yaitu manambah nilai satu pada m dan memasukkan nilai tersebut kembali ke m (m=m+1). Hal yang sama juga terjadi pada operator pre-decrement dan post-decrement yang memberikan akibat yang sama, yaitu mengurangi nilai satu dari n ( n = n - 1). Tetapi bila digunakan sebagai sub ekspresi,operator post-increment dan pre increment menunjukkan hasil yang berbeda Contoh : output : Penjelasan Dalam penugasan yang pertama, m adalah pre-increment, menaikkan nilainya menjadi 67, yang selanjutnya dimasukkan ke n. Dalam penugasan kedua, m adalah post-increment, sehingga 67 dimasukkan dahulu ke n baru kemudian nila m-nya dinaikkan, itu sebabnya mengapa nilai m = 68 dan n = 67.
  • 11. 11 Dalam penugasan ketiga, m adalah post increment, sehingga nilai m ( = 68 ) ditampilkan dahulu ( ke layar ) baru kemudian nilai m dinaikkan menjadi 69. Dalam penugasan keempat, m adalah pre-increment, sehingga nilai m dinaikkan dahulu menjadi 70 baru kemudian ditampilkan ke layar. 2.6.5 OPERATOR BITWISE NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau char 2.6.6 OPERATOR LOGIKA Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi. Contoh : output : Operator Deskripsi Contoh && logic AND m && n || logic OR m ||n ! logic NOT !m Operator Deskripsi Contoh << Geser n bit ke kiri ( left shift ) m << n >> Geser n bit ke kanan ( right shift ) m >> n & Bitwise AND m&n | Bitwise OR m|n ^ Bitwise XOR m^n ~ Bitwise NOT ~m
  • 12. 12 2.7 STATEMEN I/O Pada C++ terdapat 2 jenis I/O dasar, yaitu: a. Statemen Input adalah Statemen / fungsi yang digunakan untuk membaca data dari I nputing device (keyboard/mouse), contoh : cout (character out) b. Statemen Output adalah Statemen yang digunakan untuk menuliskan data ke layar monitor, contoh : cin (character in) Contoh : output : 2.8. PEMILIHAN Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk struktur dasar pemilihan ini : 2.8.1 PERNYATAAN if Sebuah pernyataan yang dapat dipakai muntuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam : -if saja dan -else Bentuk Umumnya Satu Kasus: if (kondisi) pernyataan ;
  • 13. 13 Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak program tidak memberikan hasil apa-apa. Contoh : Output : Penjelesan : Tampak bahwa kalau usia yang dimasukkan lebih dari atau sama dengan 17,program tidak menghasilkan apa-apa. Bentuk Umumnya Dua Kasus : if (kondisi) pernyataan1 ; else pernyataan2; Pernyataan1 dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak, lakukan pernyataan2.Jika Anda tidak mempergunakan pernyataan else program tidak akan error, namun jika anda mempergunakan pernyataan else tanpa didahului pernyataan if, maka program akan error. Contoh :
  • 14. 14 Output : Bentuk Umumnya Banyak Kasus : if (kondisi) { pernyataan1; pernyataan1a; pernyataan1b; } else { pernyataan2; pernyataan2a; pernyataan2b; } Contoh 1 : output :
  • 15. 15 Contoh 2 : 2.8.2 PERNYATAAN Switch Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian. Pernyataan if…else if jamak dapat dibangun dengan pernyataan switch. Bentuk Umumnya : switch (ekspresi) { case konstanta1 : pernyataan1 ; break ; case konstanta2 : pernyataan2 ; break ; case konstanta3 : pernyataan3 ; break ; :: case konstantaN : pernyataanN ; break ; default : pernyataanlain; }
  • 16. 16 2.9 PENGULANGAN Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua bagian : 1. Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan 2. Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan diulang. Perintah atau notasi dalam struktur pengulangan adalah : 1. Pernyataan while 2. Pernyataan do..while 3. Pernyataan for 4. Pernyataan continue dan break 5. Pernyataan go to 2.9.1 PERNYATAAN while Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Pernyataan while memungkinkan statemen-statemen yang ada didalamnya tidak diakukan sama sekali. Bentuk Umumnya : while (kondisi) { Pernyataan ;} Contoh: Output :
  • 17. 17 2.9.2 PERNYATAAN do…while Pernyataan do…while mirip seperti pernyataan while, hanya saja pada do…while pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi. Bentuk Umumnya : do { pernyatan ; } while (kondisi); Contoh : 2.9.3 PERNYATAAN for Pernyataan for digunakan untuk menghasilkan pengulangan (looping) beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Bentuk Umumnya : for (inisialisasi ; kondisi ; perubahan) { Statement;}
  • 18. 18 Contoh : output : 2.10 PROSEDUR Prosedur adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan menghasilkan suatu efek netto. Suatu efek netto diketahui dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur. Pendefinisian prosedur artinya menuliskan nama prosedur, mendeklarasikan nama-nama konstanta, peubah dan tipe (jika ada), dan menjabarkan rangkaian aksi yang dilakukan. Pada dasarnya struktur algoritma yang sudah kita kenal, yaitu : ada bagian judul (header) yang terdiri atas nama prosedur dan deklarasi parameter (jika ada), bagian deklarasi untuk mengumumkan nama-nama, bagian algoritma yang disebut dengan badanprosedur. Dalam penggunaannya prosedur harus dipanggil di program utama. 2.10.1 PARAMETER Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header prosedur. Sebagian besar program memerlukan pertukaran data atau informasi antara prosedur dan titik di mana ia dipanggil. Penggunaan parameter menawarkan mekanisme pertukaran informasi tersebut. Tiap item data ditransfer antara parameter aktual dan parameter formal yang bersesuaian. Parameter aktual (kadang-kadang disebut juga argumen) adalah parameter yang disertakan pada waktu memanggil prosedur, sedangkan parameter formal adalah parameter yang dideklarasikan di dalam bagian header prosedur itu sendiri.
  • 19. 19 Contoh pemanggilan prosedur yang tidak memiliki parameter Penjelasan : Contoh di atas adalh contoh pemanggilan prosedur di program utama. Terdapat tiga prosedur. Prosedur di atas tidak memiliki pamameter (parameter kosong). Selanjutnya akan ada contoh prosedur yang disertai dengan parameter.
  • 20. 20 output 2.11. FUNGSI Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil akhir fungsi akan berupa sebuah nilai balik (return). Nama fungsi yang didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in function pada compiler C++. Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian program(kode) berulang-ulang, dapat menyusun kode program agar terlihat lebih rapi dan kemudahan dalam debugging program. Parameter adalah nama-nama peubah yang dideklarsikan pada bagian header fungsi. Pemrogram dapat membuat fungsi yang didefinisikan sendiri olehnya. Contoh :
  • 21. 21 Penjelasan : // Fungsi Perkalian // tipe_return nama_fungsi (tipe_argument argumen) 2.12 LARIK Larik merupakan sekumpulan data yang mempunyai nama dan tipe yang sama. Larik sering disebut juga variabel berindeks. Nilai suatu data dalam larik ditentukan oleh nama dan indeks. Larik banyak digunakan pada operasi yang melibatkan indeks seperti pada statistik dan matriks. Tipe data larik dapat berupa larik satu demensi, dua demensi, tiga demens atau banyak dimensi. Bentuk Umum Larik Satu Dimensi : tipe_larik nama_larik [ukuran] Bentuk Umum Larik Dua Dimensi : tipe_larik nama_larik [ukuran1][ukuran2] Perhatikan : a. Tanda kurung [ ] digunakan untuk menunjukkan elemen larik b. Perhitungan elemen larik dimulai dari 0, bukan 1 C++ tidak mengecek larik. Bila anda menyatakan int x[10], ini artinya 10 elemen yang dimulai dari 0. Karena itu elemen terakhir larik adalah x[9]. Bila anda salah mereferensikannya dengan x[10], anda akan mendapatkan harga yang tidak terpakai. Akan lebih buruk lagi jika anda memberikan harga ke x[10], yang tidak dapat diterima.
  • 22. 22 2.11.1. REPRESENTASI LARIK Misalkan kita memiliki sekumpulan data ujian seorang siswa, ujian pertama bernilai 90, kemudian 95,78,85. Sekarang kita ingin menyusunnya sebagai suatu data kumpulan ujian seorang siswa. Dalam array kita menyusunnya sebagai berikut ujian[0] = 90; ujian[1] = 95; ujian[2] = 78; ujian[3] = 85; Empat pernyataan diatas memberikan nilai kepada array ujian. Tetapi sebelum kita memberikan nilai kepada array, kita harus mendeklarasikannya terlebih dahulu, yaitu : int ujian [4] ; Perhatikan bahwa nilai 4 yang berada didalam tanda kurung menujukkan jumlah elemen larik, bukan menunjukkan elemen larik yang ke-4. Jadi elemen larik ujian dimulai dari angka 0 sampai 3. Pemrogram juga dapat menginisialisasi larik sekaligus mendeklarasikannya, sebagai contoh : int ujian[4] = {90,95,78,85}; Elemen terakhir dari larik diisi dengan karakter ‘0’. Karakter ini memberitahu kompiler bahwa akhir dari elemen larik telah dicapai. Walaupun pemrogram tidak dapat melihat karakter ini secara eksplisit, namun kompiler mengetahui dan membutuhkannya. Sekarang kita akan membuat daftar beberapa nama pahlawan di Indonesia char pahlawan[3][15] ; char pahlawan[0][15] = “Soekarno”; char pahlawan[1][15] = “Diponegoro”; char pahlawan[2][15] = “Soedirman”; Larik diatas terlihat berbeda dengan contoh larik pertama kita. Perhatikan bahwa pada larik pahlawan memilih dua buah tanda kurung [ ][ ]. Larik seperti itu disebut larik dua dimensi Tanda kurung pertama menyatakan total elemen yang dapt dimiliki oleh larik pahlawan dan
  • 23. 23 tanda kurung kedua menyatakan total elemen yang dapat dimiliki setiap elemen larik pahlawan Dalam contoh diatas, tanda kurung kedua menyatakan karakter yang menyatakan nama pahlawan. 2.11.2. MENGHITUNG JUMLAH ELEMEN ARRAY Karena fungsi sizeof() mengembalikan jumlah byte yang sesuai dengan argumen nya, maka operator tersebut dapat digunakan untuk menemukan jumlah elemenarray, misalnya int array[ ] = {26,7,82,166}; cout<<sizeof(array)/sizeof(int); akan mengembalikan nilai 4, yaitu sama dengan jumlah elemen yang dimiliki larik. 2.11.3. MELEWATKAN ARRAY SEBAGAI ARGUMEN FUNGSI Larik dapat dikirim dan dikembalikan oleh fungsi. Pada saat larik dikirim ke dalam fungsi, nilai aktualnya dapat dimanipulasi Contoh : Output :
  • 24. 24 Contoh array dua dimensi yaitu matriks :
  • 25. 25 Berikut ini adalah beberapa latihan, tugas, dan kuis praktikum algoritma dan pemprograman : 1. Pemilihan menghitung bangun datar dan ruang 2. Program Tiket Bioskop menggunakan pemilihan dengan banyak kasus
  • 26. 26 output 3. Program segitiga bintang menggunakan penggulangan for.
  • 27. 27 BAB III IMPLEMENTASI 3.1. Deskripsi Masalah Di era globalisasi seperti sekarang ini, kebutuhan masyarakat dalam bertransaksi kian bertambah. Masyarakat membutuhkan suatu sistem yang dapat memberikan kemudahan dalam bertransaksi, misalnya kita ingin mentransfer uang, kita tidak perlu repot untuk mengantri di bank berjam jam, karena kita cukup datang ke ATM bank dan melakukan transaksi yang kita inginkan. Kemudahan bertransaksi inilah yang menjadi salah satu tujuan dibuatnya program ATM sederhana yang akan dibahasa pada bab ini. 3.2 Batasan Masalah Dalam program ATM sederhana ini, terdapat lima menu utama yaitu informasi saldo, penarikan tunai, transfer, pengisian pulsa, pembayaran. Menu informasi saldo menampilkan saldo user, dalam hal ini saldonya telah saya tetapkan. Pada menu penarikan tunai, user bisa mengambil uang, namun jika saldonya kurang dari Rp 50.000,00 maka penarikan tunai tidak dapat dilakukan. Selanjutnya pada menu transfer, user bisa mentrasfer uang dengan terlebih dahulu memasukkan nomor rekening tujuan. Dan pada menu pembayaran user dapat melakukan pembayaran tagihan listrik, air dan kartu kredit dengan memasukkan ID terlebih dahulu. 3.3 Source Code Beserta Penjelasan Program ATM sederhana yang saya buat terdiri dari lima prosedur utama dan satu prosedur tambahan yang masing-masing prosedur tersebut dipanggil di program utama, prosedur akan berjalan sesuai dengan pilihan menu yang diinputkan users. Program ini diawali dengan memasukkan pin atau password, dalam program ini password sudah saya atur terlebih dahulu. Untuk lebih jelaa, selanjutnya saya akan memperihatkan gambar hasil coding, hasi output atau keluarannya, beserta penjelasannya.
  • 28. 28 Berikut ini adah source code program ATM sederhana Pada program ini saya menggunakan dua header yaitu #include<iostream.h> dan #include<conio.h> . Fungsi keduannya dapat anda baca pada bab II. Saya menggunakan dua header ini karena dalam program ini terdapat perintah umum seperti cout dan cin dan juga terdapat perintah untuk membersihkan layar yaitu clrscr () . Selain itu saya juga menggunakan konstanta global (#define) yang diletakkan sebelum void main. konstanta ini saya perlukan untuk nilai saldo dan tagihan-tagihan agar semua prosedur bisa dengan mudah mengakses konstanta ini sehingga proses lebih cepat. Seperti yang saya sampaikan sebelumnya, program ini terdiri dari enam prosedur. Dimana masing-masing prosedur memiliki tugas yang berbeda-beda. Dalam prosedur ini saya menggunakan parameter aktual dan formal agar pertukaran informasi anatara prosedur dan titik dimana ia dipanggil. Jika anda melihat ada gotoxy (33,9) itu adalah fungsi untuk mengatur titik x dan y agar letak tampilan di monitor sesuai dengan yang kita inginkan. Selanjutnya dalam program utama, pertama saya mendeklarasian semua variabel yang digunakan pada program utama dan prosedur, saya menambahkan perintah untuk menampilkan menu berulang-ulang setelah transaksi selesai dikerjakan. Selain itu juga ada perintah untuk memasukkan password sebelum menu utama tampil. Untuk lebih jelasnya berikut code dan outputnya. konstanta header Prosedur dan parameternya
  • 29. 29 Pengulangan menampilkan menu akan berjalan selama user menginputkan huruf Y atau y. Dan pada permintaan password, jika password yang dimasukkan cocok (saya mengatur password = 1234) maka program akan berjalan dengan menampilkan menu transaksi. Namun jika tidak aka nada peringatan bahwa password yang anda masukkan salah. Dan peritah pengulangan pun akan tampil. Permintaan password Pengulangan
  • 30. 30 Setelah memasukkan password. User akan diminta untuk memilih menu transaksi. Dalam hal ini saya menggunakan fungsi pemilihan (if-else). Jika user menginputkan pilihan=1 maka prosedur yang akan dipanggil adalah prosedur infosaldo. Dan proses dalam prosedur akan tampil di layar seperti gambar di atas. Karena saya telah menetapkan bahwa saldonya adalah Rp 1.000.000,- pada konstanta global maka seperti itu outputnya. Dan ada lagi menu pengulangan. Jika user menginputkan y atay Y maka user akan diminta untuk memasukkan password dan akan tampil lagi menu transaksi. Selanjutnya jika user memilih untuk melakukan penarikan tunai, maka user harus menginputkan angka 2. Dan prosedur penarikan akan berjalan dan keluarannya akan meminta user untuk memasukkan jumlah nominal yang ingin diambil, lalu proses penghitungan saldo setelah dikurangi dengan jumlah nominal yang diambil.
  • 31. 31 Jika user memilih transaksi transfer (pil==3) maka prosedur transfer akan menjalankan tugasnya. Pertama user akan diminta untuk memasukkan no rekening tujuan yang telah saya atur panjangnya maksimal 15 digit. Kemudian user diminta untuk memasukkan jumlah nominal yang akan di transfer. Kemudian jika user memilih untuk mengisi pulsa (pil==4) maka prosedur isipulsa akan menjalankan tugasnya. Dalam prosedur ini saya menggunakan dua kali perintah pemilihan. Pemilihan pertama untuk memilih kartu provider, pemilihan kedua yaitu nominal pulsa yang diinginkan. User juga akan diminta untuk memasukan nomor tujuan yang akan diisikan pulsa.
  • 32. 32 Pemilihan kartu dan masukkan no tujuan Pemilihan nominal pulsa Prosedur yang kelima adalah prosedur pembayaran. Jika user memilih menu ini maka user harus memilih akan melakukan pembayaran listrik, air atau kartu kredit. Namun sebelumnya user harus memasukkan ID, dalam hal ini ID telah saya atur sebelumnya. Jika ID benar maka akan muncul nama pemilik tagihan listrik. Selanjutnnya akan tampil tagihan yang harus dibayarkan oleh user. Dalam prosedur ini saya menggunakan perintah pemilihan dengan banyak kasus.
  • 33. 33
  • 34. 34 Menu yang terakhir adalah menu keluar. Jika user memilih untuk keluar maka akan tampil Jika pada saat memilih menu user salah dalam menginputkan angka (bukan angka 1-6) maka akan tampil pemberitahuan bahwa pilihan tidak tersedia. Dan jika user menginputkan selain huruf Y atau y pada pengulangan maka program akan berhenti.
  • 35. 35 BAB IV PENUTUP A. Kesimpulan Pada praktikum Algoritma dan Pemrograman I , kami telah mempelajari dan mengimplementasikan materi yang diberikan yaitu : a. struktur dasar Algoritma b. notasi Algoritmik c. tipe, operator dan ekspresi d. runtunan e. pemilihan f. pengulangan g. prosedur h. fungsi Selain mempelajari materi-materi tersebut kami juga telah mengimplementasikan materi tersebut dengan cara membuat program baru (yang belum pernah ditugaskan pada saat praktikum). Pada kesempatan ini saya membuat program ATM sederhana. Program ini dibuat untuk memenuhi kebutuhan user dalam bertransaksi dan memberikan kemudahan kepada user karena program ini mencakup beberapa transaksi-transaksi yang biasa dibutuhkan user. Program ini terdiri atas prosedur-prosedur yang didalamnya terdapat pertintah pemilihan,pengulangan dan juga array satu dimensi. B. Saran Program yang saya buat masih dapat dikembangkan menjadi program ATM yang lebih lengkap dan penghitungan saldo yang lebih matang, karena program ini belum dapat mengurangi saldo setelah user melakukan transaksi 1 dan melanjutkan ke transaksi berikutnya. Program ini juga dapat dibuat dengan tampilan yang lebih menarik.
  • 36. 36 DAFTAR PUSTAKA Munir rinaldi. 2011. Algoritma dan Pemprograman dalam bahsa Pascal dan C Edisi Revisi. Bandung:Informatika PIT,Laboratorium.Modul Praktikum Algoritma dan Pemrograman 1. Laboratorium Pemrograman dan Informatika Teori. 2010. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Islam Indonesia Yogyakarta. http://float-achinqs.blogspot.com/p/praktikum-algoritma-pemrograman.html