Algoritma dan Struktur Data Contoh Progr

ALGORITMA DAN STRUKTUR DATA
POKOK BAHASAN:
Program Fungsi dengan bahasa C++

A. Definisi Masalah
Studi kasus pada praktikum pertama ini adalah membuat sebuah program dengan 2
pilihan menu yang menggunakan dua fungsi yaitu Passing by Value dan Passsing by
Reference, dimana terdapat menu untuk menukar nilai variable a menjadi b, dan nilai
variable b menjadi a dengan menggunakan dua fungsi yang berbeda.
Pada menu pertama perlu dibuat terlebih dahulu method yang berisi langkah-langkah
untuk menukar nilai a menjadi b dan nilai b menjadi a. Di menu pertama ini menggunakan
Passing by Reference, yaitu dimana variable yang baru hanya diberikan nilai variable yang
lama atau alamat memorynya saja, sehingga perubahan apapun yang terjadi baik pada
variable baru maupun variable lama akan berpengaruh atau berubah secara langsung pada
kedua variable tersebut. Setelah membuat method fungsi yang telah berisi langkah-langkah
menukar nilai variabel sehingga method fungsi tersebut dapat dipanggil oleh method main.
Lalu pada menu kedua dilakukan hal yang sama, dengan membuat sebuah method
untuk tiap permasalahan yang berbeda. Dimana pada menu kedua adalah sama dengan
menukar nilai variable, namun menggunakan fungsi lain yaitu Passing by Value, yang
berarti sebuah cara memasukkan nilai ke suatu variable atau fungsi dengan mengcopy
nilainya dari memory, karena dengan mengcopy nilai secara langsung dari memory dan

memasukkannya ke variable yang baru sehingga bila terjadi perubahan nilai variable yang
baru maka variable yang lama tidak akan terpengaruhi. Sehingga dengan begitu jika setiap
permasalahan sudah di blok dalam suatu method tersendiri, dapat dengan mudah dipanggil
oleh method main.

B. Rancangan Algoritma
Start

Masukkan
nilai a dan b

Menukar nilai a dan b
menggunakan value
dan reference

Mencetak
nilai tukar

End


C. Source Code
#include
#include
#include

using namespace std;

void tukar(string *a, string *b)
{
string temp;

temp = *a;
*a = *b;
*b = temp;
}

void ganti(string a, string b)
{
string temp;


temp = a;
a = b;
b = temp;

cout