panduan praktikum · praktikum pemrograman komputer 2018 7 tahun 1989, dunia pemrograman c...
TRANSCRIPT
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 2
PANDUAN PRAKTIKUM
PEMROGRAMAN KOMPUTER
Kepala Laboratorium Manajemen Industri
Dwi Sukma Donoriyanto, ST. MT
NIP. 19810726 200501 1 002
Asisten Laboratorium
Rendy Christian Koordinator Asisten
1632010065
Arfin Noor Shihab Wakil Koordinator Asisten
1632010042
Kurnia Ella Rahayu Sekretaris
1632010038
Thalia Naptalena Bendahara
1632010014
Nadlifah Hafidz Anggota
1632010023
Dhimas Putra S Anggota
1632010010
Vivi Indah Lestari Anggota
17032010027
Satrio Pinandhito T.T Anggota
17032010060
PROGRAM STUDI TEKNIK INDUSTRI
FAKULTAS TEKNIK
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
2018
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 3
KATA PENGANTAR
Syukur Alhamdulillah, dengan mengucapkan puji dan syukur
kehadiratAllah SWT atas rahmat dan hidayah-Nya sehingga penulis dapat
menyelesaikan modul praktikum ini dengan baik.
Modul praktikum ini dibuat dengan tujuan untuk mempermudah pelaksaan
prakitkum. Dan lebih dari itu, diharapkan mampu menjadi media akselerasi
pemahaman serta keterampilan atau skill praktikan sesuai dengan kompetensi
yang
diharapkan.
Penulis mengucapkan terima kasih yang sebesar-besarnya kepada
semuapihak yang telah membantu. Penulis menyadari sepenuhnya masih banyak
terdapat kekurangan dalam modul praktikum ini. Oleh karena itu, kritik serta
saran yang membangun dari praktikan maupun pembaca sangat membantu guna
perbaikan dan pengembangan di masa yang akan mendatang.
Akhir kata, dengan segala kerendahan hati penulis berharap semoga modul
praktikum ini dapat memberikan manfaat dan peningkatan buku pedoman bagi
pembaca maupun praktikan.
Surabaya, Juli 2018
Penyusun
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 4
TATA TERTIB
PRAKTIKUM PEMROGRAMAN KOMPUTER
Dalam meningkatkan kedisiplinan pada Praktikum Pemrograman
Komputer maka para praktikan diharapkan mampu mematuhi tata tertib yang
berlaku antara lain:
1. Para praktikan harap datang tepat waktu dengan toleransi 10 menit lebih
awal dari jadwal yang telah ditetapkan.
2. Terlambat 5 menit dinyatakan tidak boleh mengikuti Tes Awal.
3. Terlambat 10 menit tidak diperbolehkan mengikuti Praktikum pada hari
tersebut dan nilai dimyatakan kosong.
4. Para praktikan tidak diperbolehkan memakai T-Shirt (kaos Oblong),
celana/rok pendek, celana robel ataupun sandal jepit, harus berpakain sopan,
bersepatu dan selama praktikum jaket harap dilepas.
5. Dilarang menancapkan flashdisk atau alat penyimpanan lainnya dalam
bentuk apapun ke CPU di Laboratorium an membuka program selain
program yang digunakan saat praktikum.
6. Dilarang menggunakan gadget dan sejenisnya saat praktikum berlangsung.
7. Bila izin ataupun sakit wajib memberitahu asslab max H-1 hari sebelum
praktikum (menggunakan surat tertulis).
8. Praktikum wajib melakukan Revisi H+2 dan melakukan ACC paling lambat
H+3 setelah dilaksanakannya praktikum.
9. Para praktikan tidak diperbolehkan mengikuti Ujian Global apabila telah 3
kali tidak masuk (absen).
10. Sistem penilaian dari praktikum:
• Tupen : 5%
• Test Awal : 10%
• Laporan : 20%
• Tugas Besar : 30%
• Ujian Global : 25%
• Attitude : 5%
• Absensi :5%
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 5
DAFTAR ISI
LEMBAR JUDUL
KATA PENGANTAR
TATA TERTIB PRAKTIKUM
DAFTAR ISI
MODUL I Pengenalan dan Struktur Bahasa C++
1.1 Tujuan Praktikum
1.2 Tinjauan Pustaka
1.3 Studi Kasus
MODULII String dan Array
2.1 Tujuan Praktikum
2.2 Tinjauan Pustaka
2.3 Studi Kasus
MODUL III Fungsi,Prosedur,Struktur Kontrol Kondisional & Perulangan
3.1 Tujuan Praktikum
3.2 Tinjauan Pustaka
3.3 Studi Kasus
MODUL IV File dan Stream
4.1 Tujuan Praktikum
4.2 Tinjauan Pustaka
4.3 Studi Kasus
MODUL V Pointer
5.1 Tujuan Praktikum
5.2 Tinjauan Pustaka
5.3 Studi Kasus
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 6
1.1 Tujuan Praktikum
1 Praktikum memahami algoritma pemrograman
2 Praktikum memahami struktur bahasa C++
3 Praktikan mampu membuat program sederhana dengan menggunakan
bahasa C++
1.2 Tinjauan Pustaka
A. Algoritma & Pemrograman
Algoritma adalah metode dan tahapan sistematis yang digunakan untuk
memecahkan suatu permasalahan. Sedangkan pemrograman adalah proses
pembuatan program dengan menerapkan algoritma dan struktur data tertentu
menggunakan bahasa pemrograman. Struktur data adalah tempat tatanan
penyimpanan data yang dibutuhkan program pada komputer. Kode program yang
telah ditulis kemudian akan di-compile dan dieksekusi untuk menjalankannya.
Compile adalah menerjemahkan kode program yang ditulis menggunakan bahasa
pemrograman, ke bahasa mesin yang dapat dimengerti oleh komputer sehingga
komputer mengerti apa yang diperintahkan.
B. Sejarah C++
Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T
Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang
diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari
bahasa BCPL ( Basic Combined Programming Language ) yang diciptakan oleh
Martin Richard.
Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang
sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa
C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL,
BASIC, FORTRAN.
MODUL I
PENGENALAN DAN
STRUKTUR BAHASA C++
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 7
Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan
dikeluarkannya standar bahasa C oleh American National Standards Institute
(ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal
dengan nama ANSI C.
Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories
mulai mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa
baru hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa
C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T
Laboratories, dinamakan cfront. C++ versi kunoini hanya berupa kompiler yang
menterjemahkan C++ menjadi bahasa C.
Pada evolusi selanjutnya, Borland International Inc. mengembangkan
kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung
menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun
1990 C++ menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar
pemrogram professional.
C. Kelebihan dan Kekurangan C++
Kelebihan C++
• Bahasa Standard-nya ANSI bisa dipakai diberbagai platform.
• Kecepatan program jika dibanding dengan program yang sama buatan
bahasa lain, relatif lebih cepat.
• Kode bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk
semua jenis komputer.
• Bahasa C++ tersedia hampir di semua jenis komputer.
• Kode program bersifat reuseable, sehingga dapat digunakan kembali pada
project lain dengan hanya menggunakan library dan file header.
Kekurangan
• C++ tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep
OOP karena kaidahkaidah OOP dapat dilanggar. Dan di C++ ada konsep
pointer yang sangat membingunkan, ini salah satu alasan mengapa C++
menjadi sesuatu yg paling tidak disukai.
• C++ walapun tidak terpengaruh oleh Sistem Operasi tetapi tool untuk
developmentnya harus spesific pada salah satu sistem operasi contoh Visual
Studio hanya dapat berjalan di Windows. Alasan ini juga nantinya akan
dapat menurunkan minat terhadap sistem operasi yang lain contohnya
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 8
Linux. Apabila dalam praktiknya menggunakan Visual Studio maka
otomatis akan menggunakannya juga dan pada akhirnya malas untuk
mencoba sistem operasi yang lain.
• Implementasi C++ dalam teknologi IT pada saat sekarang sudah sangat
sedikit sekali.
• Sulitnya untuk membuat sesuatu dengan C++ sehingga kepeminatannya
dalam memperdalam programming akhirnya harus kandas, kecuali dengan
inisiatif sendiri mempelajari bahasa/teknologi lain.
D. Struktur bahasa C++
Struktur bahasa C++ terdiri atas komentar, preprocessor directive, fungsi
utama maupun tambahan, definisi fungsi dan deklarasi. Berikut ini syntax
program beserta penjelasan masing-masing struktur yang ada dalam C++.
1. // Contoh komentar satu baris //
2.
3. #include <iostream>
4. using namespace std;
5.
6. void prosedur()
7. {
8. char nama[20]=".......";
9. cout<<" Nama saya adalah "<<nama<<endl;
10. }
11.
12. int main()
13. {
14. cout<<"Hello"<<endl;
15. prosedur();
16. return 0;
17. }
1. Komentar
// Contoh komentar satu baris //
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 9
Bagian ini berisi mengenai keterangan pada program kita. Tidak akan dieksekusi
dan tidak akan ditampilkan ketika program dijalankan alias nggak ngaruh. Tapi
cukup penting, karena komentar akan mempermudah orang lain yang ingin
mempelajari program yang kita melalui keterangan yang ada. Dan juga sangat
membantu kita megingat ketika kita membuat program dengan statement yang
panjang dan terdiri dari banyak fungsi. Komentar ditulis dengan 2 cara yaitu :
a. Dimulai dengan tanda // untuk komentar 1 baris (contoh di atas)
b. Diapit dengan tanda /* ... */ untuk komentar multi baris
2. Preprocessore Directive (Pengarah Compiler)
#include
using namespace std;
Preprocessor directive ditandai dengan simbol #. Bertugas untuk
mengarahkanprepocessor yang akan digunakan untuk membaca file header atau
bisa dikatakan sebagai pengatur proses kompilasi. Contoh preprocessor
directive : #include, #define, #if, #else, dan lainnya. Contoh file header : , , , dan
lainnya.
3. Fungsi Utama (main) dan Tambahan (function dan procedure)
a. Fungsi Utama
int main()
{
cout<<"Selamat datang"<
prosedur();
return 0;
}
Fungsi utama adalah bagian yang pertama kali akan dieksekusi, walaupun
sebelum bagian dari fungsi utama ini ada fungsi tambahan. Sehingga fungsi utama
pasti ada di dalam program C++. Fungsi utama ini tersusun atas kata main lalu
diikuti dengan tanda (). Lalu diikuti lagi dengan definisi fungsi (bagian dalam
tanda “{}”)yang berisi deklarasi dan perintah-perintah yang akan dieksekusi
dalam program tersebut.
b. Fungsi Tambahan
void prosedur()
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 10
{
char nama[20]=".............";
cout<<" Nama saya adalah "<
}
Fungsi tambahan ini adalah fungsi yang mendukung dan merupakan pemecahan
dari fungsi utama. Terdiri atas function dan procedure. Function merupakan
fungsi dengan nilai balik, sedangkan procedure adalah fungsi tanpa nilai balik.
Untuk fungsi tambahan nanti akan kita kupas lebih lebar lagi.
4. Definisi fungsi
int main()
{
cout<<"Selamat datang"<
prosedur();
return 0;
}
Definisi fungsi adalah bagian yang menyertai fungsi. Di dalamnya berisi syntax-
syntax yang nantinya akan dieksekusi apabila fungsi tersebut dipanggil. Bagian
definisi ini selalu diawali dengan tanda kurawal buka “{” dan diakhiri dengan
tanda kurawal tutup “}”. Di dalam definisi fungsi ini terdapat beberapa statement.
Statement harus diakhiri dengan tanda “;”. Tanda ini berfungsi untuk memberi
tanda bahwa satu statement sudah selesai dan akan terjadi error jika tidak ditutupi
dengan tanda “;”. Contoh : cout<<"Selamat datang"<
5. Bagian deklarasi
void prosedur()
{
char nama[20]="AA";
cout<<" Nama saya adalah "<
}
Bisa dikatakan sebagai statement tempat pengenalan variabel, konstanta, fungsi,
array dan lainnya. Deklarasi yang sederhana da pada contoh di atas. Pada contoh
di atas diperkenalkan tentang tipe data apa yang digunakan variabel nama dalam
procedure tersebut. Kemudian diketahui pula nilai dari variabel nama adalah AA.
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 11
E. Macam-Macam File Header pada C++ Dan Fungsinya
Macam-Macam File Header pada C++ Dan Fungsinya--Sebelum
melangkah jauh untuk lebih mendalamai bahasa pemrograman C++,alangkah
baiknya kita mengenal terlebih dahulu beberapa bagian dalam bahasa C++,salah
satunya adalah file header.File Header merupakan sebuah file yang berisi
deklarasi untuk berbagai fungsi yang dibutuhkan oleh program baik itu sebagai
standar Input/Output maupun sebagai syntax.
File Header dalam bahasa pemrograman C++ digunakan untuk memanggil
library-library yang ada sehingga suatu fungsi dapat digunakan secara baik dan
benar. #Include digunakan untuk mendeklarasikan file header dalam C++,
Berikut macam-macam file header dalam bahasa pemrograman C++:
1.#Include<Iostream.h>
Digunakan untuk menampilkan perintah:
- Cin
Merupakan fungsi masukan(digunakan untuk menyimpan data dalam suatu
variabel). Bentuk umum: cin>>var x;
- Cout
Merupakan fungsi keluaran(digunakan untuk menampilkan data ataupun tulisan).
Bentuk umum: cout<<”tulisan”; atau cout<<var x;
- Endl
Digunakan untuk pindah baris/ enter. Bentuk umum: cout<<”tulisan”<<endl;
-Ends
ends merupakan suatu fungsi manipulator yang digunakan untuk menambah
karakter null ( nilai ASCII NOL ) ke deretan suatu karakter. Fungsi ini akan
berguna untuk mengirim sejumlah karakter ke file di disk atau modem dan
mangakhirinya dengan karakter NULL.
2. #Include <Conio.h>
Digunakan untuk menampilakan perintah:
- getch
berfungsi untuk menahan tampilan. Bentuk umum: getch();
- clrscr
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 12
berfungsi untuk membersihkan layar. Bentuk umum: clrscr;
- getche Fungsi dipakai untuk membaca sebuah karakter dengan sifat karakter
yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan
karakter yang dimasukan ditampilkan di layar.
- Putch
Akan menampilkan karakter ASCII dari nilai x ke layer monitor tanpa
memindahkan letak kursor ke baris berikutnya.
- Clreol
Fungsi ini digunakan untuk membersihkan layar mulai dari posisi kursor hingga
kolom terakhir, posisi kursor tiak berubah.
- Gotoxy
Fungsi gotoxy digunakan untuk memindahkan kursor ke kolom x, baris y.
- Wherex
Fungsi wherex digunakan untuk mengembalikan posisi kolom kursor.
- Wherey
Fungsi wherey digunakan untuk mengembalikan posisi baris kursor.
- Window
Fungsi window digunakan untuk mendefinisikan sebuah window berdasarkan
koordinat kiri atas dan kanan bawah.
3.#Include <Stdio.h>
Digunakan untuk menampilan perintah :
- Printf
Merupakan fungsi keluaran. Bentuk umum: printf (“tulisan”);
- Scanf
Merupakan fungsi masukan. Bentuk umum: scanf (“%c”, &karakter);
- Gets
Fungsi inputan yang bisa membaca spasi. Bentuk umum: gets(var x);
4.#Include <String.h>
- Strcpy
Digunakan untuk menyailn nilai string
- Strlen
Untuk mengetahui panjang string
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 13
- Strupr
Digunakan untuk membuat string menjadi capital.
- Strcmp
Digunakan untuk membandingkan dua buah string.
Hasil dari fungsi ini bertipe integer dengan nilai: Negative, jika string pertama
kurang dari string kedua. Nol, jika string pertama sama dengan string kedua
Positif, jika string pertama lebih besar dari string kedua
Bentuk umum : strcmp(string1, string2);
- strlwr
Digunakan untuk mengubah huruf menjadi kecil semua.Bentuk umum :
strlwr(string);
- strcat
Digunakan untuk menggabungkan string.Bentuk umum : strcat(string1,string2);
5.#Include <Math.h>
Digunakan untuk menampilan perintah :
- Sqrt
Fungsi akar
- Pow
Fungsi pangkat
- Sin (), cos(), tan()
Masing-masing digunakan untuk menghitung nilai sinus, cosinus dan tangens dari
suatu sudut. Bentuk umum: Sin(sudut); Cos(sudut); Tan(sudut);
- Max
Digunakan untuk menghitung hasil pembagian dan sisa pembagian. Bentuk
umum: max(bilangan1, bilangan2);
- Min
Digunakan untuk menentukan bilangan terkecil dari dua buah bilangan. Bentuk
umum : min(bilangan1, bilangan2).
6.#Include <Iomanip.h>
Digunakan untuk menampilan perintah :
- Setiosflags()
Digunakan untuk mengatur jumlah digit decimal dibelakang koma
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 14
7.#Include <Stdlib.h>
Digunakan untuk menampilan perintah :
- Atof()
Digunakan untuk mengonfersi nilai string menjadi bilangan bertipe double.
Bentuk umum : atof(char x);
- Atoi()
Digunakan untuk merubah tipe data string menjadi integer.
- Pow
Digunakan untuk pemangkatan suatu bilangan.Bentuk umum : pow(bilangan,
pangkat).
9.#Include <assert.h>
Berisi menegaskan makro, digunakan untuk membantu mendeteksi kesalahan
logis dan jenis lain dari bug dalam debugging versi dari sebuah program.
10. #Include <complex.h>
Sebuah set fungsi untuk memanipulasi bilangan kompleks.
11. #Include <ctype.h>
Mendefinisikan set fungsi yang digunakan untuk mengklasifikasikan karakter
dengan jenis mereka atau untuk mengkonversi antara atas dan huruf kecil dengan
cara yang independen dari yang digunakan set karakter (biasanya ASCII atau
salah satu ekstensi, meskipun implementasi menggunakan EBCDIC juga dikenal).
12. #Include <errno.h>
Untuk menguji kode kesalahan dilaporkan oleh fungsi perpustakaan.
13. #Include fenv.h>
Mendefinisikan sebuah set fungsi untuk mengendalikan floating-point lingkungan.
14. #Include <float.h>
Mendefinisikan konstanta makro menentukan implementasi khusus properti dari
floating-point library.
15. #Include <inttypes.h>
Mendefinisikan tipe bilangan bulat lebar yang tepat.
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 15
16. #Include <iso646.h>
Mendefinisikan macro beberapa yang menerapkan cara-cara alternatif untuk
mengekspresikan token beberapa standar. Untuk pemrograman di ISO 646 set
varian karakter.
17. #Include <Limits.h>
Mendefinisikan konstanta makro menentukan implementasi khusus properti dari
tipe integer.
18. #Include <Locale.h>
Mendefinisikan fungsi lokalisasi.
19. #Include <Setjmp.h>
Demikianlah macro setjmp dan longjmp , yang digunakan untuk non-lokal keluar.
20. #Include <Signal.h>
Mendefinisikan fungsi sinyal penanganan.
21. #Include <Stdalign.h>
Untuk query dan menentukan keselarasan benda.
22. #Include <Stdarg.h>
Untuk mengakses berbagai jumlah argumen dilewatkan ke fungsi.
23. #Include <stdatomic.h>
Untuk operasi atom pada data dibagi antara benang.
24. #Include <stdbool.h>
Mendefinisikan tipe data Boolean.
25. #Include <stddef.h>
Mendefinisikan jenis beberapa berguna dan macro.
26. #Include <stdint.h>
Mendefinisikan tipe bilangan bulat lebar yang tepat.
27. #Include <stdnoreturn.h>
Untuk menentukan non-kembali fungsi.
28. #Include <tgmath.h>
Mendefinisikan jenis generik-fungsi matematika.
29. #Include <threads.h>
Mendefinisikan fungsi untuk mengelola beberapa Threads serta mutexes dan
variable kondisi.
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 16
30. <time.h>
Mendefinisikan fungsi tanggal dan waktu penanganan.
1.3 Study Kasus
1.3.1 Permasalahan
Sebuah perusahaan PT. WIJAYA KUSUMA ingin melakukan
penginputan data karyawan. Maka buatlah bahasa pemogramannya dengan
menggunakan C++ agar perusahaan tersebut bisa melakukan penginputan yang
meliputi :
Nama : Lalushalya
Alamat : Rungkut,Surabaya
No. HP : 0812345678910
1.3.2 Penyelesaian
Output Program :
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 17
2.1 Tujuanpraktikum
Setelah menyelesaikanmodulinimahasiswadiharapkanmampu :
1. Memahamipenulisan dan kegunaandari Identifier, Tipe Data,
Variabel,Konstanta dan Operator pada pemrograman C++
2. Membuat program C++ menggunakan Identifier, Tipe Data,
Variabel,Konstanta dan Operator untukmenyelesaikanstudikasus
3. Mahasiswa mampu memahami fungsi string dan array pada program dev
C++
4. Mahasiswa dapat membedakan macam-macam array
2.2 TinjauanPustaka
Pengertian Data
Data adalahkelompoksimbol-simbol yang teratur dan mewakilikuantitas,
tindakan,benda, dan sebagainya. Data juga mewakiliangka, karakteratau simbol-
simbol yangdigunakansebagaimasukanuntuk proses komputer. Dalam Bahasa
pemrogramanterdapatbeberapajenis data yaitu :
Data Numerikadalah data yang digunakanuntuk
prosesaritmatikaatauperhitungan
Data String adalah data yang
terdiridariberbagaimacamkarakteryangbersifat non matematis(angka juga
termasuk)
Data Logikaadalahjenis data yang
hanyaterdiriatasduasatuanyaitubenar(true) dan salah(false).
Identifier
Identifier adalahsebuahnama yang diidentifikasi dan dibuat oleh seorang
programmer dan digunakanuntukmewakilisebuahelemen pada program. Nama
variabel merupakansuatucontohdari identifier. Seorang programmer
MODUL II
STRING DAN ARRAY
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 18
dapatmembuat identifier dengansebutanapapunasaltidaksamadengan keyword
yang dimiliki oleh sebuah Bahasa pemrogrammantersebut.
Terdapatbeberapaaturandalampemberiannamasuatu identifier
yaitusebagaiberikut :
Nama pengenalharusdimulaidengankarakterberupahuruf (A…Z)
ataudenganunderscore (_)
Karakterberikutnyadapatberupahuruf, angkaatau underscore
Tidakbolehsamadengan reservedword dalam C++ seperti int, char, float,
double, dan lain-lain
Panjang karaktermaksimum 32 karakter
Bersifat casesensitive yaituhurufbesar dan kecildiperhitungkan
Tipe Data
Merupakantempatuntukmenentukanpemberiannilaiterhadapsuatu variabel
yang diberikan oleh user. Contohnyaadalahketikakitamemasukkan databerupa
char (karakter) pada kolomharga yang bertipe data int
(angka)makaotomatisakanditolakdikarenakanadanyaperbedaantipe data.
Dalampemrograman komputerpemilihantipe data adalah salah satuunsur
paling penting. Seperticontohnya pada perhitungan 5 dibagi 2
akanmenghasilkanhasilyangberbedatergantungdaritipedatayangkitaberikan.
Apabilamenggunakantipe data int makaakanmenghasilkan 2.
Sedangkanapabilamenggunakantipe data float makaakanmenghasilkan 2,5.
Konstanta
Konstantaadalahsuatunilai yang tidakdapatdiubahdalamsuatu program
ketika program itusedangberlangsung. Oleh karenaitukonstantaharusdidefiniskan
di awal program. Konstantadapatbernilaiinteger, pecahan, karakter dan string.
Pendeklarasiankonstantadapatdilakukanmenggunakanduacara :
Menggunakan #define
Pendeklarasianmenggunakan #define diletakkanbersamaandengan
preprocessordirective dan diletakkan Bersama-samadenganpernyataan #include.
Pendeklarasianmenggunakan #define tanpamenggunakantanda = dan semicolon
(;).
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 19
Menggunakan const
Sedangkandenganmenggunakan kata kunci const,
pendeklarasiankonstantamiripdengandeklarasi variabel yang ditambahkan kata
const dibagiandepan.
Variabel
Adalahsuatu identifier yang digunakanuntukmewakilisuatunilaitertentu di
dalamsebuah program. Nilai suatu variabel dapatdiubah-ubahsesuaikebutuhan.
Operator
Operator sendiriberartisymbolkhusus yang akanmemberitahukepada
compiler untukmelakukanoperasiaritmatika dan logikatertentu. Operator
sendirimemilikibeberapajenis, yaitusebagaiberikut :
Operator Assign (=)
Operator iniberfungsiuntukmemberikannilaikepadasuatu variabel.
Operator Majemuk (+=, -=, *=, /=, dan %=)
Operator iniberfungsiuntukmenyederhanakanoperasiaritmatika.
Operator Penaikan dan Penurunan (++ dan --)
Operator penaikan (++) akanmenambahkan 1 nilai variabel
begitupunsebaliknyadengan operator penurunan (--).
Operator relasional (==, !=, >, <, >=, dan <=)
Yang dihasilkandari operator
inibukanberupasebuahnilaimelainkansebuahbilangan bool yaitu 1 yang
berartibenar dan 0 yang berarti salah.
Operator Logika(!,&&, ||)
Operator logikadigunakanuntukmemberikannilaiataukondisi true atau false.
Operator inidigunakanuntukmembandingkanantara 2 kondisi.
STRING
String merupakan sebuah bentuk data yang sering dipakai dalam bahasa
pemrograman untuk keperluan menampung dan memanipulasi data teks. Dalam
bahasa C++, string merupakan suatu nilai karakter yang berurutan dan disimpan
dalam sebuah lokasi memori yang selalu diakhiri dengan karakter null. Dalam
sebuah program operasi string, karakter null biasanya ditulis ‘\0’, dimana hal
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 20
tersebut biasanya secara umum berupa bilangan integer 0 atau nilai karakter null
konstanta.
Cara untuk memberikan petunjuk pointer char string pada bahasa C++
adalah dengan mengidentifikasikan penunjuk pointer dan kemudian
menetapkannya untuk menunjuk secara dinamis dan mengalokasikan
penyimpanan yang dikembalikan oleh operator yang baru. Suatu kesalahan umum
yang sering terjadi dalam menggunakan petunjuk pointer char pada string bahasa
C++ adalah ketika menggunakan penunjuk pointer tetapi tidak menunjukdan
mengalokasikan string dengan baik.
String dapat dimanipulasi dengan aturan tertentu. Di mana bahasa C++ telah
menyediakan semua ini ke dalam pustakanya. Berikut adalah fungsi-fungsi yang
digunakan untuk melakukan manipulasi string :
Tabel 2.1 Funsi untuk menangani string
FUNGSI PENJELASAN
Strlen
menerima string sebagai argumen. Pernyataan panjang string
(tidak termasuk null terminator. Contoh Penggunaan: len =
strlen (nama)).
Strcat menerima dua string sebagai argumen. Fungsi menambahkan
string kedua untuk pertama string. (Yang pertama adalah
string diubah, kedua string tersebut dibiarkan tidak berubah).
Contoh Penggunaan: strcat (string1, string2);
Strcpy menerima dua string sebagai argumen. Fungsi salinan kedua
string untuk pertama string. String miliknya kedua string
dibiarkan tidak berubah. Contoh penggunaan: strcpy (string 1,
string 2)
strncpy menerima dua string dan argumen integer. Argumen yang
ketiga, kedua integer, menunjukan berapa banyak karakter
yang dicopy dari string kedua menuju string pertama. Jika
kurang dari string2 sebanyak n karakter, string 1 adalah
ditambahkan dengan karakter’\0’. Contoh penggunaan:
strncpy (string1,string2, n)
strcmp menerima dua string argumen. Jika string1 dan string2 sama,
fungsi ini memberikan hasil 0. Jika string2 alfabetnya lebih
besar dari string1, ia kembali angka negatif. Jika string2
alfabetnya kurang dari string1, ia kembali angka positif.
Contoh penggunaan: if (strcmp (string1, string2))
strstr Pencarian untuk pertama terjadinya string2 dan string1. Jika
terjadinya string2 ditemukan, fungsi akan mengembalikan
pointer string pertama. Jika tidak, ia akan mengembalikan
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 21
NULL pointer (alamat 0). Contoh Penggunaan: cout << strstr
(string1, string2)
Tabel 2.2 Fungsi Pengujian Karakter
FUNGSI
KARAKTER
PENJELASAN
Isalpha Returns betul (angka bukan angka nol) jika argumen adalah huruf
alfabet. Retutns salah jika argumen bukan huruf.
Isalnum Returns betul (angka bukan angka nol) jika argumen berupa huruf
atau angka. Sebaliknya return adalah salah.
Isdigit Returns betul (angka bukan angka nol) jika argumen adalah angka
0 sampai 9. Sebaliknya selain itu salah.
Islower Returns betul (angka bukan angka nol) jika argumen berupa huruf
kecil sebaliknya jika tidak maka salah
Isprint Returns betul (angka bukan angka nol) jika argumen berupa
karakter yang dapat dicetak (termasuk spasi). Jika tidak maka
return salah
Ispunct Returns betul (angka bukan angka nol) jika argumen yang ducetak
adalah karakter selain angka, huruf, atau ruang. Selain itu salah.
Isupper Returns betul (angka bukan angka nol) jika argumen adalah huruf
besar. Selain itu salah
isspace Returns betul (angka bukan angka nol) jika argumen berupa
karakter spasi. Selain itu salah.
Karakter spasi adalah salah satu dari karakter berikut ini: spasi “
vertikal tab ‘\v line baru ‘\n’ tab ‘\t’
Dari satu segi pandangan metode pemrograman yang mudah, library
standar class string menawarkan beberapa keuntungan pada string. Ketika anda
mengetahui pada modul ini, class string mempunyai beberapa anggota fungsi dan
operator yang memiliki muatan lebih. Hal ini jelas menyederhanakan tugas,
seperti penempatan sebuah karakter atau string di dalam suatu string, yang jika
dilakukan tanpa fungsi akan mengalami kesulitan dan membosankan untuk
melakukan operasi string.
Tabel 2.3 Pemakaian Konsruktor String
DEFINISI PENJELASAN
String alamat; Definisi objek string yang langsung disebutkan
String nama (“suprapto”); Mendefinisikan string benda bernama nama,
diinisialisasi dengan “suprapto”
String person1 (person2); Mendefinisikan string benda bernama person1,
yang merupakan salinan dari person2, person2
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 22
mungkin salah satu objek atau string karakter
array
String set 1 (set2, 5); Mendefinisikan string bernama set1 objek yang
diinisialisasi untuk pertama lima karakter dalam
karakter array set2
String lineFull (‘z’, 10); Mendefiniskan string benda bernama lineFull
diinisialisasi dengan 10’z’ karakter
String firstName (fullName,
0, 7);
Mendifinisikan string benda bernama firstname,
diinisialisasi dengan substring dari string
fullName. Substring adalah tujuh karakter, mulai
pada posisi 0
Tabel 2.4 Operator String
OVERLOADED PENJELASAN OPERATOR
>> Ekstrak karakter stream dan masukkan karakter ke dalam
string. Karakter akan dicopy sampai menemui spasi atau
akhir kalimat dan sekaligus menghitung karakter masukan.
<< Menyisipkan string ke dalam stream.
= Memasukkan string pada sebelah kanan ke obyek string
pada sebelah kiri.
+= Menambahkan copyan string pada string sebelah kanan ke
obyek string pada sebelah kiri.
+ Mengembalikan string yang merupakan rangkaian dari dua
operand string.
[] Melaksanakan tanda notasi array, seperti nama [x], dimana
hal tersebut merujuk pada karakter pada pengembalian
posisi x.
Relational
Operators
Masing-masing operator penghubungdiimplementasikan:
<,>, <=, >=, ==, +==
ARRAY
Array merupakan bagian dasar pembentukan suatu struktur data yang lebih
kompleks. Hampir setiap jenis struktur data kompleks dapat di sajikan secara
logik oleh array.Array adalah suatu tipe data terstuktur yang berupa sejumlah data
sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama
tertentu.Elemen-elemen array tersusun secara sekuensial di dalam memori
sehingga memiliki alamat yang berdekatan. Array dapat berupa array 1 dimensi, 2
dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa
bernilai sama atau berbeda-beda. Array digunakan untuk menyimpan data-data
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 23
yang diinputkan masing-masing kedalam memory komputer. Jadi jumlah datanya
banyak namun satu jenis.
Karaktersitik Array :
1. mempunyai batasan dari pemesanan alokasi memory (bersifat statis)
2. mempunyai type data sama (homogen)
3. dapat di akses secara acak.
4. berurutan (terstruktur)
Array Mempunyai Dimensi :
1. Array Dimensi satu (vektor)
Elemen-elemen array dapat diakses oleh program menggunakan suatu
indeks tertentu. Pengaksesan elemen array dapat dilakukan berurutan atau random
berdasarkan indeks tertentu secara langsung. Pengisian dan pengambilan nilai
pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan
nilai pada indeks yang dimaksud.
Array satu dimensi juga disebut array dimensi satu atau biasa juga disebut
Vektor karena hanya memiliki satu arah.Deklarasi array satu dimensi:tipe_data
nama_var [ukuran_array]
Ket :
–type_data : menyatakan type elemen array misal int, char, float
–nama_var : nama variabel array
–ukuran : menyatakan jumlah maksimal elemen arranya
2. Array Dimensi banyak
- Dimensi dua (matrix / tabel )
-Dimensi tiga (kubik)
Array multi dimensi berarti array yang kita deklasaikan dapat
dikembangkan ke array dimensi 2 dan seteruanya. Array multi dimensi
merupakan topik yang menarik dalam matematika. Setiap dimensi dalam array
direpresentasikan sebagai sub bagian dalam array.
Oleh karena itu, array dua dimensi array memiliki dua sub bagian, sebuah
array tiga-dimensi memiliki tiga sub bagian dan sebagainya. Sebuah contoh
bentuk nyata yang baik dari array dua dimensi adalah sebuah papan catur. Satu
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 24
dimensinya merupakan delapan baris, sedangkan dimensi lainnya merupakan
delapan kolom.
Array dua dimensi sering kali digambarkan/dianalogikan sebagai sebuah
matriks atau bentuk grid. Jika array berdimensi satu hanya terdiri dari 1 baris dan
banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak kolom
yang bertipe sama.
Array dua dimensi merupakan array yang terdiri dari M buah baris dan N
buah kolom. Bentuknya dapat berupa matriks atau tabel.
Bentuk Umum :
Tipe_Data Nama_Variabel [index-1] [index-2]
Inisialisasi array dua dimensi.
Seperti array berdimensi satu, array berdimensi dua juga bisa diinisialisasi.
Fungsi Array.
Jika suatu fungsi memberikan hasil balik, maka nilai hasil balik yang diberikan
oleh fungsi dapat dilakukan oleh statement return yang diikuti oleh nilai hasil
baliknya yang ditulis tanda kurung.
Keuntungan penggunaan array sebagai tipe data dibandingkan dengan
penggunaan tipe data yang lain adalah kemampuannya yang dapat mengumpulkan
beberapa data yang bertipe sama dalam satu variabel, sehingga dalam pembuatan
program yang terdiri dari beberapa tipe yang sama, tidak membutuhkan banyak
variabel.
2.3 Studi Kasus
2.3.1 Permasalahan
Array
Seorang Mahasiswa Teknik Industri UPN “Veteran” Jawa Timur ingin
membuat program berbasis C++. Program ini nantinya akan digunakan untuk
membuat deret bilangan. Dimana nantinya nilai awal, maksimum, dan intervalnya
dapat ditentukan sendiri. Buatlah program tersebut
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 25
Penyelesaian :
Output Program :
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 26
String
Seorang pegawai ingin membuat aplikasi berbasis C++ dimana aplikasi itu
akan ia gunakan untuk mengetahui jumlah karakter dari nama pegawai yang ada
di perusahaan tempat ia bekerja. Sehingga nantinya data tersebut dapat diolah
sedemikian rupa. Buatlah program tersebut!
Penyelesaian :
Output Program :
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 27
3.1 Tujuan Praktikum
1. Praktikan dapat memahami fungsi dan prosedur dalam pemrograman
komputer.
2. Praktikan dapat mengaplikasikan fungsi dan prosedur dalam sebuah studi
kasus.
3. Praktikan dapat memahami kegunaan struktur kontrol kondisional,
perulangan dan percabangan
4. Praktikan dapat membuat bahasa pemrograman menggunakan struktur
kontrol kondisional, perulangan, dan percabangan
3.2 Tinjauan Pustaka
A. Prosedur
Prosedur adalah sederet instruksi algoritmik yang diberi nama dan akan
menghasilkan neto yang terdefinisi. Mendefinisikan (membuat spesifikasi)
prosedur berarti menentukan nama prosedur serta parameternya (jika ada), dan
mendefinisikan keadaan awal (Initial State, I.S.) dan keadaan akhir (Final State,
F.S.) dari prosedur tersebut. Prosedur didefinisikan (dituliskan spesifikasinya)
dalam kamus. Cara penulisan spesifikasi : prosedur diberi nama, dan parameter
formal (jika ada) yang juga diberi nama dan dijelaskan typenya. Nama parameter
yang dituliskan pada definisi / spesifikasi prosedur disebut sebagai parameter
formal. Sedangkan parameter yang dituliskan pada pemanggilan prosedur disebut
sebagai parameter aktual. Jadi, setiap prosedur harus
1. Didefinisikan (dibuat spesifikasinya) dan ditulis kode programnya.
2. Dipanggil, pada saat ekskusi oleh prosedur lain atau oleh program utama
parameter formal adalah nama-nam variabel (list nama) yang dipakai
MODUL III
FUNGSI, PROSEDUR, STRUKTUR
KONTROL KONDISIONAL DAN
PERULANGAN
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 28
dalam mendefinisikan prosedur, dan membuat prosedur tersebut dapat
diekssekusi dengan nama-nama yang berbeda ketika dipanggil. Parameter
formal adalah list nama yang akan dipakai pada prosedur, yang nantinya
akan diasosiasikan terhadap nama variabel lain pada saat pemanggilan.
Sesuai dengan ketentuan nilainya.
Ada tiga type parameter formal yaitu parameter input, parameter output,
dan parameter input / outpyt. Memakai atau “memanggil” prosedur adalah
menuliskan nama prosedur yang pernah didefinisikan dan memberikan harga-
harga yang dibutuhkan oleh prosedur itu untuk dapat melaksanakan suatu aksi
terdefinisi. Sebuah prosedur juga boleh “memakai” atau memanggil prosedr. Pada
saat pemanggilan terjadi “passing parameter”.
B. Fungsi
Fungsi adalah kumpulan pernyataan yang melakukan tugas tertentu.
Sejauh ini anda telah menggunakan fungsi dalam dua cara :
(1) Anda telah membuat sebuah fungsi bernama utama dalam setiap program
yang telah ditulis.
(2) Anda memiliki fungsi library disebut seperti sqrt dan pow. Dalam bab ini
akan mempelajari cara membuat fungsi yang dapat digunakan seperti
fungsi library pada C++. Alasan lain untuk menggunakan fungsi adalah
untuk bahwa fungsi menyederhanakan program.
Jika tugas tertentu dilakukan dibeberapa tempat di sebuah program, sebuah
fungsi dapat ditulis sekali saja untuk melakukan tugas itu, dan kemudian akan
dijalankan kapan saja dibutuhkan. Ketika membuat sebuah fungsi, yang harus
ditulis adalah definisi. Semua definisi mempunyai bagian-bagian dibawah ini :
Name
Setiap fungsi harus memiliki nama. Secara umum, peraturan yang sama berlaku
untuk nama variabel juga berlaku untuk nama fungsi.
Parameter list
Program modul fungsi panggilan yang dapat mengirim data ke daftar parameter
adalah daftar variabel yang memegang nilai-nilai yang disampaikan ke fungsi.
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 29
Body
Badan fungsi adalah serangkaian pernyataan yang melaksanakan tugas
melakaukan fungsi. Pernyataan ini akan ditutupi dalam satu set braces.
Return type
Fungsi dapat mengirim kembali ke nilai program modul yang memanggilnya.
Return type merupakan tipe data dari nilai yang dikirim kembali.
C. Struktur Kondisional
1. Statement IF
Pernyataan percabangan digunakan untuk memecahkan persoalan dalam
mengambil suatu keputusan diantara sekian kondisi yang ada.
Pernyataan IF diatas mempunyai pengertian, “jika kondisi bernilai benar,
maka perintah / pernyataan akan dikerjakan dan jika tidak memenuhi syarat maka
akan diabaikan”. Jika ‘pernyataan’ yang dijalankan hanya sebaris, maka tanda {}
boleh ditiadakan. Statement ‘kondisi’ harus merupakan statement Relasional
ataupun logika
Statement IF juga dapat ditambahkan ELSE sebagai konsekuensi alternatif
jika kondisi tidak dipenuhi (FALSE). Sintaksnya :
Perintah-1 dan perintah-2 dapat berupa sebuah pernyataan tunggal,
pernyataan majemuk atau penyataan kosong. Jika pemakaian if-else diikuti
dengan pernyataan majemuk, bentuk penulisanya sebagai berikut :
Selain format penulisan statement IF diatas, berikut adalah beberapa
format penulisan statement IF lainya :
if (kondisi)
{
Pernyataan; }
if (kondisi)
Perintah-1;
else perintah-2;
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 30
IF Else Majemuk
Nested IF (IF bersarang)
Nested if merupakan pernyataan if berada didalam pernyataan if yang
lainya. Bentuk penulisan pernyataan Nested if adalah :
2. Statement SWITCH – CASE
Pernyataan switch adalah pernyataan yang digunakan untuk menjalankan
salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai
dari sebuah ungkapan dan nilai penyeleksian. Syntaksnya :
if (syarat) {
_ Perintah; _ Perintah;
} else if (syarat) { _ Perintah; _ Perintah; } else
{ _ Perintah; _ Perintah;
}
if (syarat) if (syarat)
_ Perintah; else _ Perintah; else if (syarat) _ Perintah; else _ Perintah;
switch (ekspresi) { case konstanta 1 : pernyataan 1; break; case konstanta 2 : pernyataan 2; break; case konstanta 3 : pernyataan 3;
break; : : case konstanta N : pernyataan N; break; default : pernyataan lain : }
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 31
Hal-hal yang perlu diperhatikan adalah :
1. Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak boleh
diikuti oleh kondisional.
2. Konstanta yang digunakan bertipe int atau char
3. Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan
konstanta 2 maka pernyataan 2, pernyataan 3 sampai dengan pernyataan
lain dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break,
jika keyword break digunakan maka setelah pernyataan 2 dieksekusi
program langsung keluar dari pernyataan switch. Selain digunakan dalam
switch, keytword break banyak digunakan untuk keluar dari pernyataan
yang berulang (looping).
4. Pernyataan ‘default’ dieksekusi jika konstanta 1 sampai konstanta N tidak
ada yang memenuhi ekspresi.
Contoh :
Note : tidak setiap IF bisa dijadikan Switch. Tapi semua Switch dapat dijadikan IF
D. Struktur Kontrol Perulangan
Perulangan digunakan untuk mengerjakan suatu perintah secara berulang-
ulang sesuai dengan yang diinginkan.
#include<conio.h>
#include<iostream.h>
void main()
{
int bil;
clrscr();
cout<<“Masukkan bilangan :”;
cin>> bil;
switch (bil)
{
case 1 : cout<<“Anda masukkan bil. satu”;
break;
case 2 : cout<<“Anda masukkan bil. dua”;
break;
case 3 : cout<<“Anda masukkan bil. tiga”;
break;
default: cout<<“Anda memasukkan bil selain 1,2, dan 3”;
break;
}
getch();
}
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 32
Struktur perulangan terdiri atas dua bagian :
1. Kondisi perulangan yaitu ekspresi boolean yang harus dipenuhi untuk
melaksanakan perulangan
2. Isi atau badan perulangan yaitu satu atau lebih pernyataan (aksi) yang akan
diulang
Perintah atau notasi dalam struktur perulangan adalah :
1. Pernyataan FOR
Pernyataan FOR digunakan untuk melakukan looping. Pada umumnya
looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan
perubahanya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi.
Inisialisasi merupakan pemberian nilai awal
Syarat pengulangan : memegang kontrol terhadap pengulangan, karena
bagian ini yang akan menetukan suatu perulangan diteruskan atau
dihentikan.
Pengubah nilai pencacah merupakan statement control untuk perulangan
Umunya mengatur kenaikan atau penurunan nilai pencacah. Bila
pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus
diletakkan didalam tanda kurung.
Contoh :
Nested FOR
Perulangan bertumpuk secara sederhana dapat diartikan : terdapat satu atau
lebih loop di dalam loop. Banyaknya tingkatan perulangan, tergantung dari
kebutuhan. Biasanya, nested loops diunakan untuk membuat aplikasi matematika
yang menggunakan baris dan kolom. Loop luar biasanya dignakan untuk
For ( inisialisasi syarat pengulangan pengubah nilai pencacah )
#include<conio.h>
#include<iostream.h>
void main()
{
int a;
clrscr();
for (a=0; a<=10; a++)
cout<<a<<” “;
getch(); }
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 33
mendefinisikan baris. Sedangkan loop dalam digunakan untuk mendefinisikan
kolom.
Penjelasan program :
Perulangan akan menghasilkan nilai sebagai berikut :
Baris 1; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5; cetak 5
ganti baris !
Baris 2; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5; cetak 5
ganti baris !
Baris 3; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5; cetak 5
ganti baris !
Baris 4; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5; cetak 5
for (int baris = 1; baris <=4; baris++)
{
for (int kolom = 1; kolom <= 5; kolom++)
{
cout<<kolom<<” “;
}
cout<<endl;
}
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 34
ganti baris ! selesai.
Dan dilayar akan mucul hasil dengan bentuk matrik sebagai berikut :
2. Pernyataan WHILE
Pernyataan while merupakan salah satu pernyataan yang berguna untuk
memproses suatu pernyataan tau beberapa pernyataan beberapa kali. Pernyataan
while memungkinkan statemen-statemen yang ada didalamnya tidak dilakukan
sama sekali.
Karakteristik while() adalah :
1. Dilakukan pengecekan kondisi terlebih dahulu sebelum dilakukan
perulangan. Jika kondisi yang dicek bernilai benar (true) maka perulangan
akan dilakukan.
2. Blok statement tidak harus ada. Struktur tanpa statement akan tetap
dilakukan selama kondisi masih true.
Penting!!! Jika anda menggunakan WHILE, pastikan bahwa suatu saat
bagian kondisi sampai bernilai FALSE. Apabila tidak, proses perulangan akan
terus berjalan selamanya.
3. Pernyataan DO. . .WHILE
Karakteristik do. . .while() adalah :
1. Perulangan akan dilakukan minimal 1× terlebih dahulu, kemudian baru
dilakukan pengecekan terhadap kondisi, jika kondisi benar maka
perulangan masih akan tetap dilakukan.
2. Perulangan dengan do. . .while() akan dilakukan sampai kondisi false.
While (kondisi)
{
Pernyataan;
}
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 35
Bentuk umumnya
Perbedaan dengan WHILE sebelumnya yaitu bahwa pada DO. . .WHILE
statement perulanganya dilakukan terlebih dahulu baru kemudian dicek
kondisinya. Sedangkan WHILE kondisi dicek terlebih dahulu baru kemudian
statement perulanganya dijalankan. Akibat dari hal ini adalah dalam DO WHILE
minimal terdapat 1× perulangan. Sedangkan WHILE dimungkinkan perulangan
tidak pernah terjadi yaitu ketika kondisinya langsung bernilai false.
Struktur Kontrol Lompatan
Pernyataan Continue dan Break
Pernyataan break akan selalu terlihat digunakan bila menggunakan
pernyataan switch. Pernyataan ini juga digunakan dalam loop. Bila pernyataan ini
dieksekusi, maka akan mengakhiri loop dan akan menghentikan iterasi pada saat
tersebut. Pernyataan continue digunakan untuk pergi ke bagian awal dari blok
loop untuk memulai iterasi berikutnya. Dengan kata lain, perintah continue akan
melewati satu iterasi yang sesuai dengan syarat tertentu, dan melanjutkan ke
iterasi berikutnya.
Contoh :
Do
{
Pernyataan;
} while(kondisi);
#include<iostream.h>
void main()
{
int i;
for (i=0; i<15; i++)
{
If (i==4) continue;
cout<<“Bilangan”<<1<<;
if (i==6) break;
}
}
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 36
Output :
Penjelasan : dari program diatas, dapat dilihat perulangan dari suatu
bilangan sebanyak 10×. Tetapi, pada perulangan i=4, ada perintah continue.
Dengan perintah ini, maka program langsung meloncat ke loop berikutnya dan
ketika sampai perulangan i=6, ada perintah break. Otomatis program akan
berhenti dan tidak sampai ke i=10. Dan program akan mencetak bilangan 0,
bilanga 1, bilangan 2, bilangan 3, bilangan 4, bilangan 5, bilangan 6.
Pernyataan GO TO
Pernyataan GO TO diperlukan untuk melakukan suatu lompatan ke suatu
pernyataan berlabel yang ditandai dengan tanda “:”
Contoh :
Output :
#include<iostream.h>
void main()
{
Cout<<”Tes go to”<<endl;
Goto selesai;
Cout<<”Hai, saya kok tidak disapa”<<endl;
Selesai :
Cout<<”Selesai...”<<endl;
}
Bilangan 0
Bilangan 1
Bilangan 2
Bilangan 3
Bilangan 4
Bilangan 5
Bilangan 6
Tes go to
Selesai...
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 37
5.3 Studi Kasus
5.3.1 Permasalahan
Seorang pembeli bernama Vivi Indah Lestari membeli barang sejumlah
27. Berapakah harga total yang harus dibayarkan pembeli tersebut?
Dengan parameter sebagai berikut:
a. Pembelian < 50 tidak mendapat diskon maupun bonus.
b. Pembelian 50-99 mendapat diskon 5% dan bonus piring cantik
c. Pembelian 100-199 mendapat diskon 10% dan bonus headphone
d. Pembelian ≥ 200 mendapat diskon 15% dan bonus laptop
5.3.2 Penyelesaian
Output Program :
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 38
4.1 Tujuan Praktikum
1. Mahasiswa dapat membuka dan mentup file.
2. Mahasiswa dapat mengerti perintah yang terdapat pada file dan stream
3. Mahasiswa dapat memahami dan mengaplikasikan perintah perihal input
dan output
4.2 Tinjauan Pustaka
A. Membuka file
Sebelum suatu file dapat diproses, file harus dibuka terlebih
dahulu.Sebelum file dibuka, terlebih dahulu obyek file harus didefinisikan.
Sintaksnya:ofstream nama_obyek;perintah ofstream dapat dijalankan
dengan menyertakan file header fstream.hSetelah itu, suatu file dapat
dibuka dengan perintahnama_obyek.open(“nama file dan path”);
B. Menulis ke File
Salah satu jenis pemrosesan pada file adalah menulis atau merekam
data kefile. Sintaknya:nama_obyek <<... ;
C. Menutup File
Setelah pemrosesan file selesai, file dapat ditutup menggunakan
perintah
nama_obyek.close();
Contoh 1. Program berikut ini untuk menulis teks ke dalam file
#include<iostream.h>
#include<fstream.h>
void main()
{
ofstream fileteks;
fileteks.open(“C:/algo.txt”);
fileteks<<“Untuk mencapai tujuan yg besar, maka tujuan itu ”<<endl;
MODUL IV
FILE DAN STREAM
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 39
fileteks << “harus dibagi-bagi menjadi tujuan kecil”<< endl;
fileteks << “sampai tujuan itu merupakan tujuan yg dapat “<< “dicapai” << endl;
fileteks << “berdasarkan kondisi dan potensi yg dimiliki saat “<< itu “ << endl;
fileteks.close();
}
perintah fileteks.open(“C:/algo.txt”); akan membuka file algo.txt yang ada
di C:\
Apabila file tersebut belum ada maka akan dibuat secara otomatis, dan
apabilasudah ada isi file algo.txt akan terhapus.
D. Menambah Data pada File
Suatu file yang sudah ada sebelumnya dapat ditambah data yang
baru(tidak menghapus data lama). Caranya dengan menambahkan
perintah ios::apppada open().nama_obyek.open(“nama file”, ios::app);
Contoh 2.
#include<iostream.h>
#include<fstream.h>
void main()
{
ofstream fileteks;
fileteks.open(“C:/algo.txt”, ios::app);
fileteks << endl;
fileteks << “Oleh: Al Khowarizmi << endl;
fileteks.close();
}
E. Memeriksa Keberhasilan Operasi File
Tidak selamanya jalan yang mulus ditemui. Ada kemungkinan
terjadi saatfile dibuka, ternyata file tidak ada. Dalam C++ tersedia function
untuk memeriksakondisi-kondisi pada operasi file, sehingga kesalahan
saat eksekusi dapatdikendalikan. Function yang dimaksud adalahfail().
Contoh 3:
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 40
#include<iostream.h>
#include<fstream.h>
void main()
{
ifstream fileteks; { ifstream digunakan u/ membaca file }
fileteks.open(“C:/algo.txt”);
if (fileteks.fail()) cout << “Maaf file takdapat dibuka/”
<< “tidak ditemukan”;
fileteks.close();
}
F. Operasi Berbasis Karakter
Operasi file dapat dilakukan dalam bentuk karakter. Misalnya
prosespenyimpanan data ke file dilakukan setiap karakter, atau membaca
data filekarakter per karakter. Operasi ini didukung oleh function put()
danget().
Contoh4. Program untuk menyimpan data karakter per karakter ke dalam
file.
#include<iostream.h>
#include<fstream.h>
void main()
{
ofstream fileteks;
fileteks.open(“C:/contoh.txt”);
fileteks.put(‘A’);
fileteks.put(‘B’);
fileteks.put(‘C’);
fileteks.close();
}
Contoh 5. Program untuk membaca file karakter per karakter
#include<iostream.h>
#include<fstream.h>
void main()
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 41
{
char karakter;
ifstream fileteks; {}
fileteks.open(“C:/contoh.txt”);
while(!fileteks.eof())
{
fileteks.get(karakter);
cout << karakter;
}
fileteks.close();
}
4.3 Studi Kasus
4.3.1 Permasalahan
Seorang admin mempunyai tugas untuk mencatat file data-data
karyawan di PT. Cplusplus dengan data yang harus diinputkan sebagai
berikut:
a. Nama Panggilan : Vivi
b. Kota Asal : Gresik
c. Golongan Darah : O
d. Umur : 19 tahun
e. Tempat Lahir : Gresik
f. Jumlah Anak : 0
g. Agama : Islam
Tampilkanlah file data karyawan PT. Cplusplus apabila karyawan lain
ingin mengakses data-data karyawan tersebut !
4.3.2 Penyelesaian
File adalah sekumpulan data yang disimpan dalam media penyimpanan
luar seperti disket/harddisk. Stream adalah suatu logika device yang menghasilkan
dan menerima informasi atau wadah yang digunakan untuk menampung keluaran
dan menampung aliran data.Dalam C++ file adalah sebuah stream yang disimpan
dalam media penyimpanan luar. Karena merupakan sebuah stream, operasi yang
berlaku pada stream berlaku juga untuk file.
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 42
Tulis coding dengan bahasa C++ kemudian Compile & Run coding
tersebut dengan memilih Execute lalu Compile & Run.
Untuk mengaplikasikan perintah stream masukkan coding seperti dibawah
ini.
Output Program :
Berikut merupakan tampilan hasil dari output programC++ menampilkan
data karyawan PT. Cplusplus
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 43
5.1 Tujuan Praktikum
Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu :
1. Mahasiswa mengenal dan memahami penggunaan pointer dalam listing
program
2. Mahasiswa mampu membuat program sederhana dengan menerapkan
konsep pointer
5.2 Tinjauan Pustaka
A. Pointer
Pointer (penunjuk) adalah sebuah variabel yang digunakan sebagai
penunjuk alamat dari variabel lain. Pointer disini berfungsi menyimpan alamat
dari sebuah variabel dan dapat mengakses nilai yang ada di alamat tersebut,
pointer dapat mengubah nilai, menampilkan nilai atau menampilkan alamat dari
variabel yang disimpannya. Manusia menggunakan pointer pada dunia nyatasetiap
saat. Mari kita lihat contohnya:
Pada saat seorang dosen mengatakan, “Kerjakan tugas di buku,” telah
terjadi penugasankepada mahasiswa secara tidak langsung.
Indeks yang terdapat pada akhir buku, merupakan petunjuk untuk
menemukan penjelasanlengkap mengenai topik tertentu.
Alamat merupakan sebuah pointer. Alamat menunjukkan tempat tinggal
seseorang.
Sebuah URL (Uniform Resource Locator), seperti http://www.google.com
juga sebuah pointer.URL tersebut memberitahukan lokasi halaman web
tersebut. Jika halaman web pindah, makaURL tidak berlaku lagi dan
menunjuk ke halaman yang sudah tidak ada. Pada C++ sebuah pointer
adalah sebuah objek yang menyimpan sebuah alamat (contohnya
lokasimemori) dimana terdapat data lain yang disimpan. Alamat memori
MODUL V
POINTER
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 44
merupakan integer, jadi sebuahpointer biasanya direpresentasikan dengan
(unsigned) int. Yang membuat pointer lebih dari integer yangbiasa adalah
kita dapat mengakses data yang ditunjuk oleh pointer tersebut.Sebuah
aggregate adalah sekumpulan objek yang disimpan dalam satu unit. Array
merupakanmekanisme dasar untuk menyimpan sekumpulan objek dengan
tipe yang sama. Berbeda denganaggregate yang dapat menyimpan
sekumpulan objek dengan tipe yang tidak sama. Sebagai
contoh,bayangkan tata letak sebuah apartemen. Masing-masing lantai
mempunyai lima kamar tidur, lobi, duakamar mandi. Dengan demikian,
masing-masing lantai disimpan sebagai struktur dan bangunan adalahlantai
dalam array.
Deklarasi Pointer
Sama seperti variabel, pointer juga harus dideklarasikan dahulu
sebelumdigunakan. Bentuk umum deklarasi pointer adalah sebagi berikut :
Tipe variabel sama dengan tipe yang dikenal oleh variabel biasa, misalnya
int, float, char dan sebagainya. Nama variabel pointer juga mengikuti ketentuan
nama variabel biasa. Yang membedakan variabel pointer dengan variabel biasa
dengan menggunakan tanda asterisk (*) didepan nama varibel pada waktu
deklarasi
Kegunaan Pointer Di C++
Kegunaan pointer yang utama adalah untuk menyimpan alamat memori
dari sebuah variabel (data type atau object dari class). Selain menyimpan alamat
dari variabel, pointer juga dapat digunakan untuk menyimpan alamat dari sebuah
fungsi (function pointer).
Function pointer telah digunakan sejak dikenalkannya bahasa C,dan
banyak digunakan untuk sebuah fungsi callback atau untuk meningkatkan
readability dari sebuah code
Anda dapat memperlakukan function pointer seperti pointer biasa (pointer
ke datatype/object), anda dapat menyimpan,mengirimkan, merubah address, atau
Type_data*nama_pointer;
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 45
meng-evaluasi address dari pointer ke fungsi ini dengan sifat tambahan anda dapat
memanggil fungsi yang ditunjuk oleh function pointer.
Pointer bisa juga berguna untuk
1. Mengirimkan “Parameter yang berupa variabel” ke dalam fungsi, artinya
nilai variabel bisa diubah di dalam fungsi.
2. Untuk membuat variabel DINAMIS (Bukan variabel Statis)
penggunaan function pointer pada C++ dibatasi, yaitu function pointer tidak boleh
menunjuk pada function yang berada dalam sebuah class (class member function)
kecuali function tersebut berjenis static.
Tipe Data Pointer :
Dimana Tipe_data merupakan tipe dari data yang ditunjuk, bukan tipe dari
pointer-nya. Contoh :
1. Mensubstitusikan address sebuah variabel ke pointer dengan memakai address
operator &
int x;
int *ptr;
ptr = &x;
2. Mensubstitusikan address awal sebuah array ke pointer
char t[5];
char *ptr;
ptr = t;
3. Mensubstitusikan address salah satu elemen array dengan address operator
char t[5] ;
char *ptr; ptr = &t[3];
4. Mensubstitusikan address awal character string ke pointer char
Char *ptr; ptr = "jakarta"
5.Mensubstitusikan NULL pada pointer. NULL ada pointer kosong, menunjukkan
suatu status dimana pointer itu belum diinisialisasikan dengan sebuah
address tertentu.
6.Memakai fungsi MALLOC.mengembalikan pointer kesejumlah n byte ruang
memori yang belum di inisialisasi. Apabila tidak terpenuhi akan
mengembalikan ke nilai NULL.
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 46
B. Operator pada pointer
Operator pada pointer terbagi menjadi dua, yaitu :
a. Operator * (Reference)
Operator ini biasa disebut value pointed by. Dengan menggunakan
operator ini akan dihasilkan nilai yang berada pada suatu alamat memori.
Operator * merupakan operator reference. Dengan menggunakan pointer, kita
dapat mengakses nilai yang tersimpan secara langsung dengan memberikan
awalan operator asterisk (*) pada identifier pointer, yang berarti “value pointed
by”. Contoh : tif = *ub; penulisan tersebut berarti nilai variabel tif sama dengan
nilai yang ditunjuk oleh variabel ub.
Reference (*) merupakan suatu operator yang berfungsi menyatakan suatu
variabel adalah variabel pointer. Sama halnya dengan operator deference,
peletakan simbol operator reference diletakan diawal variabel. Operator reference
ini akan membuat suatu variabel pointer untuk menampung alamat.
Contoh Program menggunakan Pointer Reference :
b. Operator & (Deference)
Operator Dereference (&) yaitu operator yang berfungsi mendeklarasikan
sebuah variabel didalam penggantian memori. operator ini biasa disebut dengan
"address of". Jadi seandainya ingin mengetahui dimana variabel akan disimpan
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 47
(untuk mengetahui letak / alamat penyimpanan variabel di memori), dapat
memberikan tanda "&" (ampersand sign) didepan variabel, yang berarti "address
of". Karena dengan menggunakan operator dereference (&) ini, sebuah variabel
akan menghasilkan alamat lokasi penyimpanannya di memori.
Contoh Program menggunakan Pointer Dereference :
C. Keunggulan menggunakan Pointer:
1. Penanganan terhadap array dan string akan lebih singkat, dan efisien.
2. Memungkinkan suatu fungsi untuk menghasulkan lebih dari satu nilai.
3. Memiliki kemampuan untuk mengirimkan alamat suatu fungsi ke fungsi
yang lain.
4. Kemampuan berkerja dengan memori yang telah dialokasikan secara
dinamik.
5. Memungkinkan untuk berhubungan langsung ke hardware.
6. Untuk menciptakan data structure yang kompleks.
7. Memungkinkan untuk berhubungan langsung dengan parameter command
D. Kelemahan Pointer
Kelemahan yang mungkin ada dengan pointer sebagai moniker: memory
leak, double delete, invalid memory access. Semuanya dapat dihindari
dengan ownership analysis yang bagus (pada setiap saat, harus diketahui
pihak mana yang bertanggung jawab mendelete sebuah object). Jika hal ini
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 48
sulit dilakukan, misalnya karena shared ownership, anda dapat
menggunakan smart pointer atau garbage collector
Kelemahan yang mungkin ada dengan pointer sebagai iterator: array out of
bound. Salah satu carayang efektif menghindari hal ini adalah dengan
menggunakan standard algorithm.
5.3 Studi Kasus
5.3.1 Permasalahan
Sebuah toko bernama toko San Andreas yang menjual berbagai macam
kebutuhan elektronik ingin membuat suatu aplikasi menggunakan Bahasa
pemrograman C++ untuk mempermudah pelanggan memesan barangnya dengan
total harga yang langsung diketahui serta alamat memori yang digunakan untuk
melakukan konfirmasi pembayaran di Toko San Andreas. Maka buatlah
Algoritma Pemrograman nya !
5.3.2 Penyelesaian
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 49
Output Program :
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 50
DAFTAR PUSTAKA
Frieyadie. 2006. “Panduan Pemrogramman C++”. Yogyakarta :Penerbit Andi
Purwanto, Timur Dali.2013.” Pemrograman C++”.Palembang:Penerbit Timur
.