laporan praktikum algoritma

36
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.

Upload: envapya

Post on 07-Jan-2017

121 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Laporan Praktikum Algoritma

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.

Page 2: Laporan Praktikum Algoritma

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

Page 3: Laporan Praktikum Algoritma

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.

Page 4: Laporan Praktikum Algoritma

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.

Page 5: Laporan Praktikum Algoritma

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 :

Page 6: Laporan Praktikum Algoritma

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.

Page 7: Laporan Praktikum Algoritma

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

Page 8: Laporan Praktikum Algoritma

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

Page 9: Laporan Praktikum Algoritma

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

Page 10: Laporan Praktikum Algoritma

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.

Page 11: Laporan Praktikum Algoritma

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

Page 12: Laporan Praktikum Algoritma

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 ;

Page 13: Laporan Praktikum Algoritma

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 :

Page 14: Laporan Praktikum Algoritma

14

Output :

Bentuk Umumnya Banyak Kasus :

if (kondisi)

{ pernyataan1; pernyataan1a; pernyataan1b; } else

{ pernyataan2; pernyataan2a; pernyataan2b; }

Contoh 1 :

output :

Page 15: Laporan Praktikum Algoritma

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; }

Page 16: Laporan Praktikum Algoritma

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 :

Page 17: Laporan Praktikum Algoritma

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;}

Page 18: Laporan Praktikum Algoritma

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.

Page 19: Laporan Praktikum Algoritma

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.

Page 20: Laporan Praktikum Algoritma

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 :

Page 21: Laporan Praktikum Algoritma

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.

Page 22: Laporan Praktikum Algoritma

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

Page 23: Laporan Praktikum Algoritma

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 :

Page 24: Laporan Praktikum Algoritma

24

Contoh array dua dimensi yaitu matriks :

Page 25: Laporan Praktikum Algoritma

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

Page 26: Laporan Praktikum Algoritma

26

output

3. Program segitiga bintang menggunakan penggulangan for.

Page 27: Laporan Praktikum Algoritma

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.

Page 28: Laporan Praktikum Algoritma

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

Page 29: Laporan Praktikum Algoritma

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

Page 30: Laporan Praktikum Algoritma

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.

Page 31: Laporan Praktikum Algoritma

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.

Page 32: Laporan Praktikum Algoritma

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.

Page 33: Laporan Praktikum Algoritma

33

Page 34: Laporan Praktikum Algoritma

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.

Page 35: Laporan Praktikum Algoritma

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.

Page 36: Laporan Praktikum Algoritma

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