Anda di halaman 1dari 18

Nama : Egidius Santus Dominus

NIM : 2305551153
Kelompok : 11

A. TUJUAN PRAKTIKUM
1. Mampu menerapkan dasar pemrograman bahasa C/C++ dalam pembuatan
program.
2. Mampu menggunakan dan menerapkan metode fungsi dan prosedur pada
sebuah program.

B. TUGAS PENDAHULUAN
1. Sebutkan dan jelaskan secara rinci tipe data dasar yang digunakan dalam
bahasa C/C++ dan keperluan memori untuk masing-masing tipe data serta
berikan contoh pendeklarasian tipe data tersebut!
2. Jelaskan pengertian dan kegunaan dari flowchart! Lalu gambarkan dan
jelaskan fungsi masing-masing simbol yang terdapat dalam flowchart!
3. Jelaskan tentang konsep variabel lokal dan variabel global serta
perbedaannya!
4. Jelaskan tentang konsep fungsi dan prosedur, perbedaan keduanya, serta
aplikasinya dalam pemrograman dengan C/C++!
5. Jelaskan tentang konsep passing by value, passing by reference dan
perbedaannya, serta buatlah contoh program dengan Bahasa C/C++!
6. Jelaskan yang dimaksud dengan seni penulisan program beserta contohnya!
7. Buatlah flowchart dan pseudocode (notasi algoritma) dari program pada soal
di bawah ini, lalu lakukan trace terhadap flowchart yang Anda buat sehingga
yakin bahwa flowchart tersebut sudah benar.
Jawab
1. Tipe Data Dasar Bahasa C/C++
Tipe data dasar yang digunakan dalam bahasa C/C++ dan keperluan memori
untuk masing-masing tipe data antara lain sebagai berikut

1.1 Tipe Data Integer (int):


Penjelasan: Tipe data ini digunakan untuk menyimpan bilangan bulat.
Keperluan Memori: Tergantung pada sistemnya, Tipe Data Integer (int):
Penjelasan: Tipe data ini digunakan untuk menyimpan bilangan bulat.
Keperluan Memori: Tergantung pada sistemnya, biasanya 4 byte (32-bit) atau 8 byte
(64-bit).
Contoh Pendeklarasian: 4 byte (32-bit) atau 8 byte (64-bit).
Contoh Pendeklarasian:
#include <iostream>
using namespace std;

int main(){
int x,y,z;
x=3; y=4;

z=x*y;
cout << "Hasil perkalian: " << z;
}
Kode Program 1.1 Contoh Pendeklarasian Tipe Data Integer dalam Bahasa C

1.2 Tipe Data Char


Penjelasan: Tipe data karakter digunakan untuk menyimpan satu karakter,
seperti huruf atau simbol.
Keperluan Memori: Biasanya 1 byte.
Contoh Pendeklarasian:
#include <iostream>
using namespace std;

int main(){
char nilai;

cout << "Masukan nilai (A/B/C/D): "; cin>>nilai;


cout << "Nilai anda:" << nilai;

}
Kode Pogram 1.2 Tipe Data Char Pada Bahasa C
1.3 Tipe Data Boolean (bool)
Penjelasan: Tipe data boolean digunakan untuk menyimpan nilai kebenaran
(true atau false).
Keperluan Memori: Tergantung pada implementasi, biasanya 1 byte.
Contoh Pendeklarasian:
#include <iostream>
using namespace std;

int main()
{
int angka;
bool hasil;
cout << "Masukan angka = "; cin >> angka;
hasil = angka > 10;
cout << hasil;
}
Kode Program 1.3 Contoh Pendeklarasian Tipe Data boolean

1.4 Tipe Data Void (void)


Penjelasan: Tipe data void digunakan untuk menunjukkan bahwa suatu
fungsi tidak mengembalikan nilai atau untuk pointer tanpa tipe data.
Keperluan Memori: Tidak ada nilai yang disimpan.
Contoh Pendeklarasian sebagai tipe data pengembalian fungsi:
#include <iostream>
using namespace std;

void hitung_luas_persegi(int sisi) {


int luas = sisi * sisi;
cout << "Luas Persegi dengan sisi " << sisi << " adalah " << luas << "."
<< endl;
}

int main() {
int sisi;
cout << "Masukkan sisi persegi: ";
cin >> sisi;
hitutung_luas_persegi(sisi);
return 0;
}
Progam 1.4 Contoh Pendeklarasian Tipe Data void Pada Bahasa C
1.5. Tipe Data Pointer
Penjelasan: Tipe data pointer digunakan untuk menyimpan alamat
memori dari tipe data lain.
Keperluan Memori: Tergantung pada sistemnya (4 byte pada sistem 32-
bit, 8 byte pada sistem 64-bit).
Contoh Pendeklarasian:
#include <iostream>

using namespace std;

int main(){

//deklarasi variabel x dengan tipe data int


int x;

//deklarasi pointer p dengan tipe data int


int *p;

x = 20;
p = &x;

cout<<"\t\t===== Program Contoh Pointer =====\n\n";

cout<<"Nilai X \t\t: "<<x<<endl;


cout<<"Alamat X (&X) \t\t: "<<&x<<endl<<endl;

cout<<"Nilai yang ditunjuk *P\t: "<<*p<<endl;


cout<<"Alamat yang ditunjuk *P\t: "<<p<<endl;
cout<<"Alamat *P (&P) \t\t: "<<&p<<endl;

// mengisi nilai 30 kedalam *p / alaman yang ditunjuk pointer p


// untuk megisikan nilai melalui alamat pointer gunakan *
// karena alamat memori yang ditunjuk pointer p merupakan alamat
memori variabel x
// maka nilai dari variabel x juga ikut berubah
*p = 30;

cout<<"\n\n\nNilai X \t\t: "<<x<<endl;


cout<<"Alamat X (&X) \t\t: "<<&x<<endl<<endl;

cout<<"Nilai yang ditunjuk *P\t: "<<*p<<endl;


cout<<"Alamat yang ditunjuk *P\t: "<<p<<endl;
cout<<"Alamat *P (&P) \t\t: "<<&p<<endl;

return 0;
}
Progam 1.5 Contoh Pendeklarasian Tipe Data pointer Pada Bahasa C
1.6 Tipe Data Array
Penjelasan: Tipe data array digunakan untuk menyimpan kumpulan
nilai dengan tipe data yang sama.
Keperluan Memori: Bergantung pada ukuran dan tipe data elemen
dalam array.
Contoh Pendeklarasian:
#include <iostream>

using namespace std;

int main() {

// Deklarasi Array dengan 5 elemen

int angka[5];

// Mengisi Array dengan nilai

angka[0] = 10;

angka[1] = 20;

angka[2] = 30;

angka[3] = 40;

angka[4] = 50;

// Menampilkan nilai-nilai dalam Array


cout << "Nilai dalam Array adalah: ";
for (int i = 0; i < 5; i++) {
cout << angka[i] << " ";
}

return 0;

}
Progam 1.6 Contoh Pendeklarasian Tipe Data Pada Bahasa C
1.7. Tipe Data Struktur (struct)
Penjelasan: Tipe data struct digunakan untuk membuat tipe data baru
dengan beberapa anggota yang memiliki tipe data berbeda.
Keperluan Memori: Bergantung pada tipe data anggota dalam struktur.
Contoh Pendeklarasian:
#include <iostream>

using namespace std;

struct Siswa {
string nama;
string sekolah;
unsigned int uangSaku;
};

int main()
{
struct Siswa siswa01;

siswa01.nama = "Andi Permana Nugroho";


siswa01.sekolah = "SMA 1 Lumut Ijo";
siswa01.uangSaku = 10000;

cout << siswa01.nama <<" bersekolah di " <<


siswa01.sekolah << endl;
cout << "dengan uang saku " << siswa01.uangSaku << " per
hari" << endl;

return 0;
}
Progam 1.7 Contoh Pendeklarasian Tipe Data Struct Pada Bahasa C
2. Pengertian dan Kegunaan Flowchart
Flowchart adalah representasi grafis atau diagram yang digunakan
untuk menggambarkan urutan langkah-langkah atau proses dalam sebuah
program, tugas, atau sistem. Flowchart menggunakan simbol-simbol grafis
dan panah-panah untuk menggambarkan alur kerja atau aliran informasi
dari satu langkah ke langkah berikutnya

2.1 Berikut fungsi dari masing masing symbol


Tabel 2.1 Simbol dalam Flowchart
BENTUK NAMA FUNGSI
menandai titik awal dan
akhir dari alur kerja atau
proses dalam flowchart
Terminator

Untuk menunjukkan
langkah-langkah atau
tindakan yang harus
Process dilakukan dalam suatu alur
kerja atau proses.

untuk menggambarkan titik


dalam alur kerja di mana
sebuah keputusan harus
Decision diambil

untuk menunjukkan tempat


di mana data atau informasi
masuk ke dalam atau keluar
dari alur kerja atau proses.
Simbol input digunakan
untuk merepresentasikan
saat data atau masukan
Input-Output
dimasukkan ke dalam sistem
atau program, sedangkan
simbol output digunakan
untuk menggambarkan
keluaran atau hasil yang
dihasilkan oleh sistem atau
program
menunjukkan tahap awal
atau langkah-langkah
persiapan yang perlu
dilakukan sebelum
memasuki langkah-langkah
utama alur kerja atau
Preparation
proses. Ini bisa mencakup
inisialisasi variabel,
pengaturan awal, atau
tindakan persiapan lainnya
sebelum melanjutkan dengan
langkah-langkah inti

simbol "flow direction" bisa


digunakan untuk menandai
arah aliran atau alur khusus
dalam alur kerja. Fungsi
simbol ini secara singkat
adalah untuk memberikan
Flow petunjuk arah aliran
Direction langkah-langkah atau
tindakan dalam flowchart,
yang membantu pembaca
memahami urutan yang
benar dari langkah-langkah
atau keputusan dalam
proses tersebut

memudahkan penggambaran
flowchart yang kompleks
dengan elemen-elemen yang
tersebar di seluruh halaman.
Dengan "connector on
Connector page," Anda dapat
(On-page) menghubungkan elemen-
elemen yang terletak di
berbagai bagian halaman
untuk membentuk alur kerja
yang lebih besar dan lebih
terstruktur
Simbol "connector off page"
dalam flowchart digunakan
untuk menghubungkan
Connector elemen-elemen flowchart
(Off-page) yang terletak di halaman
yang berbeda atau di luar
halaman flowchart utama.
untuk merujuk pada
langkah-langkah atau
Predefine tindakan yang sudah
Process ditentukan sebelumnya dan
memiliki detail terpisah di
luar flowchart. Simbol ini
membantu
menyederhanakan flowchart,
menghindari redundansi,
memudahkan perubahan,
dan meningkatkan
keterbacaan alur kerja
dengan merinci tindakan
yang sudah dikenal atau
umum secara eksternal.
Fungsi dari "Delay" secara
singkat adalah untuk
Delay mengindikasikan bahwa ada
penundaan atau waktu
tertentu yang diperlukan
sebelum proses berlanjut
Fungsi dari "Display"
secara singkat adalah untuk
menggambarkan tahap di
mana hasil atau informasi
Display disajikan atau ditampilkan
kepada pengguna, pihak
terkait, atau pemangku
kepentingan. Ini membantu
dalam mengindikasikan
komunikasi keluar dari alur
kerja atau proses ke pihak
yang memerlukan informasi
tersebut.
Fungsi dari "Manual Input"
secara singkat adalah untuk
mengindikasikan bahwa
pengguna atau operator
harus memberikan data atau
Manual Input informasi tertentu ke dalam
sistem atau proses sebagai
bagian dari alur kerja

Manual untuk menggambarkan


Operation tindakan atau operasi yang
memerlukan intervensi
manusia sebagai bagian
dari proses. Ini
menunjukkan bahwa ada
tindakan yang tidak dapat
diotomatisasi dan harus
dilakukan oleh operator
atau pengguna secara
manual dalam alur kerja.

Fungsi dari "Document"


secara singkat adalah untuk
mengindikasikan titik di
mana informasi tertulis,
Document dokumen, atau catatan perlu
dibuat, digunakan, atau
direferensikan dalam alur
kerja. Ini membantu dalam
menggambarkan
pengarsipan, dokumentasi,
atau pertukaran informasi
tertulis yang terjadi dalam
proses tersebut.
untuk menggambarkan
bahwa ada beberapa
Multiple dokumen, catatan, atau
Document informasi tertulis yang
digunakan atau dihasilkan
dalam alur kerja tersebut.
untuk menggambarkan tahap
di mana kartu berlubang
digunakan sebagai metode
penyimpanan atau input
data dalam suatu proses. Ini
Punched card merujuk pada penggunaan
kartu berlubang dalam
pengolahan data, yang
merupakan pendekatan
historis sebelum
penggunaan komputer
modern
untuk mengindikasikan
bahwa data disimpan dalam
media penyimpanan atau
diakses dari penyimpanan
online dalam alur kerja atau
proses. Ini menyoroti
Disk & On- tindakan yang melibatkan
line Storage penyimpanan atau
pengambilan data dari
perangkat penyimpanan,
yang merupakan komponen
penting dalam banyak
aplikasi komputer dan
sistem informasi.

Tabel 2.1 adalah contoh dan fungsi simbol-simbol dari flowchart yang
biasa digunakan dalam pembuatannya. Dari semua simbol-simbol itu
terdapat beberapa simbol yang sering dijumpai saat membuat flowchart
yaitu terminator, process, decision, flow direction, input-output, dan
preparation.

3. Konsep variable lokal dan global


Penggunaan variable lokal dan global tergantung pada kebutuhan
program. Jika suatu variabel hanya dibutuhkan di dalam fungsi tertentu,
maka variabel tersebut bisa dideklarasikan sebagai variabel lokal. Namun,
jika suatu variabel dibutuhkan oleh seluruh bagian program, maka variabel
tersebut bisa dideklarasikan sebagai variabel global.

3.1 Konsep variabel global


Variabel global adalah variabel yang dideklarasikan di luar
function. Variabel ini bisa digunakan semua function di dalam satu file.
Deklarasinya sebaiknya function main.
#include <iostream>

using namespace std;

int var_global=2;
string var_sama="variabel_global";
void functionku(){
int var_lokal=3;
cout << "===="<<endl;
cout << "var_global : ";
cout << var_global << endl;

cout << "var_lokal(functionku) : ";


cout << var_lokal << endl;

cout << "nama_sama? : ";


cout << var_sama << endl;
cout << "===="<<endl;
}

Kode program 3.3 konsep variabel global


3.2 Konsep variabel lokal
Variabel lokal adalah variabel yang dideklarasikan di dalam
compound statement dari function, loop, atau percabangan. Variabel
tersebut hanya bisa digunakan di dalam function atau di antara tanda
kurung kurawal ( {….} ) yang mengelilinginya.

int main(){
int var_lokal=4;
string var_sama="variabel lokal fungsi main";

cout << "var_sama? : ";


cout << var_sama << endl;

cout << "var_global : ";


cout << var_global << endl;

cout << endl;


functionku();
cout << endl;

cout << "var_lokal(main) : ";


cout << var_lokal << endl;
return 0;

Kode program 3.4 konsep variabel lokal


4. Fungsi dan Prosedur dalam Bahasa Pemrograman C/C++
Fungsi dan prosedur adalah dua konsep dasar dalam pemrograman yang digunakan
untuk mengelompokkan sejumlah pernyataan atau instruksi ke dalam blok-blok terpisah,
yang dapat dipanggil atau dieksekusi secara terpisah dari bagian utama program. Dalam
bahasa pemrograman C/C++ (dan banyak bahasa lainnya), kedua konsep ini digunakan
untuk meningkatkan organisasi, keterbacaan, dan perawatan kode
4.1 Fungsi
Fungsi adalah sub program yang bisa digunakan kembali baik
didalam program itu sendiri maupun di program yang lain . fungsi dapat
menerima input dan menghasilkan output. Contoh fungsi yang sering kita
buat adalah fungsi main(). Fungsi ini memang wajib ada di setiap program
C/C++ karena fungsi inilah yang akan dieksekusi pertama kali saat program
berjalan
Contoh pendeklrarasian fungsi dapat dilihat pada table kode program
dibawah ini :
#include <iostream>
using namespace std;

// declaring a function
void greet() {
cout << "Hello there!";
}

int main() {

// calling the function


greet();

return 0;
}
Kode program 4.1 Contoh deklarasi fungsi untuk menampilkan text

4.2 Prosedur
Prosedur merupakan suatu program terpisah dalam blok sendiri
yang berfungsi sebagai subprogram (program bagian). Prosedur biasanya
bersifat suatu aktifitas seperti mencari bilangan prima dari sekumpulan
bilangan atau mencari bilangan genap dari sekumpulan bilangan ,dsb.
Prosedur biasanya digunakan pada program yang terstruktur
Contoh pendeklrasian fungsi dapat dilihat pada table kode program
dibawah ini :
#include <iostream>

using namespace std;

// Deklarasi Prosedur / Prototype Prosedur


// int a merupakan parameter formal
void ContohProsedur(int a);
void ContohProsedur2(int a);

// Fungsi Utama
int main(){
int panjang = 5;

cout<<"=============================";
cout<<"\n== Program Contoh Prosedur ==\n";
cout<<"=============================\n";

// memanggil prosedur "ContohProsedur" dan


"ContohProsedur2"
// panjang merupakan parameter aktual
ContohProsedur(panjang);
ContohProsedur2(panjang);

return 0;
}

// Contoh Prosedur
// dimisalkan int panjang sebagai parameter input
void ContohProsedur(int panjang){
int lebar, luas;

cout<<"\n\nMasukkan Lebar Persegi Panjang keI :


";cin>>lebar;

luas=panjang*lebar;

cout<<"Luas Persegi Panjang keI = "<<panjang<<" x


"<<lebar<<" = "<<luas<<endl;
}

// Contoh Prosedur
// dimisalkan int panjang sebagai parameter input
void ContohProsedur2(int panjang){
int lebar, keliling;

cout<<"\n\nMasukkan Lebar Persegi Panjang keII :


";cin>>lebar;

keliling=(panjang+lebar)*2;
cout<<"Keliling Persegi Panjang keII = ("<<panjang<<" +
"<<lebar<<") x 2 = "<<keliling<<endl;
}
Kode program 4.2 contoh deklarasi prosedur

4.3 Perbedaan fungsi dan prosedur


Jadi dapat disimpulkan bahwa kita dapat melihat jika suatu
subprogram tersebut memiliki nilai balik(return value) maka subprogram
tersebut adalah fungsi, jika tidak ada maka subprogram tersebut adalah
procedure.

5. Konsep passing by value, passing by reference


fungsi passing by value dan passing by reference sama-sama akan menampilkan data
walaupun yang satu parameter inputnya berupa variabel dan yang satu lagi parameter
inputnya berupa pointer. Dalam pemanggilan fungsi, fungsi dengan passing by value cukup
menginputkan nama variabel (varA dan varB) pada parameter inputnya.

5.1 Konsep passing by value


Pass by value (memberikan nilai) adalah salah satu metode untuk memberikan argumen
kepada function parameter di saat pemanggilan function. Pada dasarnya C/C++ memberikan
argument kepada funtion parameter dalam bentuk nilai (value). Ketika kita memberikan argument
pada function, maka nilai dari argument akan di salin ke dalam function parameter.Dalam
menentukan argument kita dapat membuatnya dalam bentuk nilai, ekspresi, variabel, literal,
object, enum dan lain-lain yang mengandung nilai di dalamnya.

Contoh pendeklarasianya dapat kita liat pada table 5.2 dibawah ini :

#include <iostream>
using namespace std;

int tambah (int a, int b){


return a+b;
}

int main () {
cout<<tambah(5,6)<<endl; //pass by value

return 0;
}
Kode Program 5.1 contoh program passing by value

5.2 Konsep passing by reference


Pass by Reference adalah salah satu metode pemberian argument kepada function
parameter saat pemanggilan function, dengan memanfaatkan reference pada function
parameter. Pada pembuatan function parameter kita dimungkinkan untuk menggunakan
reference. metode ini tidak jauh beda dengan pass by value, keduanya merupakan metode
yang memberikan argument kepada parameter. Tapi hal yang berbeda di sini adalah
bagaimana function parameter menerima argument tersebut.

Contoh pendeklarasianya dapat kita liat pada table 5.2 dibawah ini :

#include <iostream>
using namespace std;

void myF(int x);


//function prototype

int main(){
int a=1;

cout<<"a = "<<a<<endl;
myF(a);
cout<<"a = "<<a<<endl;

return 0;
}

void myF(int x){


x++;
cout<<"x = "<<x<<endl;
}

Kode Program 5.2 contoh program passing by reference

5.3 Perbedaan passing by value dan passing by reference


Perbedaanya adalah Passing by value adalah teknik bagaimana melewatkan suatu
argument tanpa melakukan perubahan nilai setelah argument dikembalikan,.Sedangkan
Passing by refrence adalah teknik melewatkan argument dalam bentuk alamat suatu nilai.
Jika terjadi perubahan nilai argumen, maka perubahan dibawa sampai argumen selesai
dilewatkan
6. Seni penulisan program
Seni penulisan program, dalam konteks pemrograman komputer, merujuk pada
keterampilan dan keahlian dalam merancang, menulis, dan mengelola kode komputer dengan
cara yang efisien, efektif, dan mudah dimengerti. Seni penulisan program tidak hanya
berkaitan dengan membuat kode yang berfungsi, tetapi juga dengan menjaga kualitas,
keterbacaan, dan keandalan kode tersebut. Tujuan utama seni penulisan program adalah
menghasilkan program yang dapat dengan mudah dipahami, dikelola, dan diperbaiki oleh
pengembang lain atau oleh diri sendiri di masa depan

6.1 Penulisan komentar


Komentar atau comment adalah ‘kode program’ yang ditambahkan untuk memberi
keterangan/penjelasan mengenai cara kerja program. Komentar tidak akan diproses oleh
compiler C dan berfungsi untuk memberi keterangan tambahan (terutama jika kode program
yang ditulis cukup rumit).
Untuk membuat komentar di dalam kode program bahasa C, menggunakan tanda /*
dan */. Seluruh karakter yang ada diantara kedua tanda ini akan dianggap sebagai komentar
dan diabaikan pada saat proses compiler.
Berikut contoh penulisan komentar dalam bahasa C :
#include <stdio.h>
int main(void)
{
/* Tampilkan pesan Hello World */
printf("Hello, World!\n");
return 0;
}
Kode program 6.1 contoh penulisan komentar dalam Bahasa C
Daftar Referensi
https://kodedasar.com/blog/tipe-data-cpp/
https://pemburukode.com/pengertian-void-di-c-plus-plus/
https://www.materidosen.com/2016/11/cara-deklarasi-pointer-pada-
variabel-c.html
https://dibimbing.id/blog/detail/contoh-program-array
https://www.programiz.com/cpp-programming/function
https://chelcious.blogspot.com/2015/03/perbedaan-passing-by-value-dan-
passing.html
https://www.duniailkom.com/tutorial-belajar-c-aturan-dasar-penulisan-
kode-program-bahasa-c/

Anda mungkin juga menyukai