Lapres 1 8selesai
Lapres 1 8selesai
MODUL 1 – 8
Oleh :
Rombongan E1 Group A
Praktikan : Achmad Farid(0734010211)
Patner praktikan : Randy Widya Putra (0734010212)
Asisten Dosen:
Yulien Yohanes (0534010014)
Renditya prasetyo (0534010002)
________________ __________________
Rendtya Prasetyo Yulien Yohanes
NPM: 0534010002 NPM: 0534010014
2
MODUL 1
INPUT DAN OUTPUT DATA 1
Landasan Teori
Algoritma
Adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam
menyelesaikan suatu masalah atau problem.
Flowchart
BIASA DISEBUT DENGAN DIAGRAM ALIR.
SALAH SATU METODE UNTUK MEREPRESENTASIKAN
ALGORITMA SELAIN PSEUDOCODE DAN URUT-URUTAN
LANGKAH.
MENGGUNAKAN SIMBOL-SIMBOL BANGUN DATAR BESERTA
ANAK PANAH SEBAGAI PENUNJUK ARAH PROSES.
Variabel dan Tipe Data
Variabel = penyimpan nilai/ data.
Setiap masalah harus dianalisa terlebih dahulu variabel apa saja yang
terlibat/ dibutuhkan.
Setiap variabel ditentukan tipe datanya yang sesuai.
Variabel
Utama menyimpan data input/ output
Tipe data
Angka int, float, double, long, single
Turunan array, struct, union, pointer
Karakter char
Input dan Output
FORMAT
Angka %i, %d, %f
Huruf/ karakter %c
3
String/ array of char %s
Alamat memori %p
INPUT
scanf(format, variabel) scanf ( “%d”, &angka );
scanf merupakan fungsi untuk menginputkan berbagai jenis data
OUTPUT
printf(kalimat, variabel) printf ( “ipk = %f“, ipk );
printf merupakan fungsi untuk menampilkan hasil di monitor
I. Soal
Dalam program ini akhirnya kita dapat menganalisa suatu progam yang
menggunakan rumus misalnya luas,jari-jari,tinggi dan sebagainya sehingga
kita mendapatkan pembahasan yang sesuai dengan kita inginkan dengan soal
atau rumus yang telah kita masukkan ke dalam progamnya dan kita
mendapatkan hasil yang kita inginkan.
4
1. Algoritma mencari Luas :
a. Mulai
b. Tentukan a (alas) dan t (tinggi)
c. Hitung luas segitiga dengan rumus ½ a t
d. Tampilkan luas segitiga
e. Selesai
FLOWCHART
FLOWCHART
LUAS SEGITIGA : FLOWCHART VOLUME
START BOLA :
a,t START
r
LUAS = ½ a t
= 3.14
LUA
S
VOLUME BOLA
= r3
END
VOLUME
BOLA
END
IV.Listing Source Code :
1. Luas segitiga
//Program Luas Segitiga :
#include "stdio.h"
void main ()
{
int a,t;
float L;
printf ("LUAS SEGITIGA\n");
printf ("masukkan tinggi : ");
scanf ("%i", & a);
printf ("masukkan alas : ");
scanf ("%i", & t);
L=(float)0.5*a*t;
printf ("Luas Segitiga : %f\n", L);
}
2. Volume Bola
6
Contoh Output Program :
LUAS SEGITIGA
VOLUME BOLA
VI. Kesimpulan :
7
Pada modul 1 ini dapat disimpulkan bahwa dalam membuat
program kita harus mengetahui lebih dahulu mana yang menjadi inputan dan
mana yang menjadi output agar user tahu maksud dari kasus seperti soal
diatas.userpun harus hati-hati dalam menggunakan tipe data yang dibutuhkan
dalam program diatas.
MODUL 2
INPUT DAN OUTPUT DATA 2
LANDASAN TEORI
Algoritma
Adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam
menyelesaikan suatu masalah atau problem.
Flowchart
BIASA DISEBUT DENGAN DIAGRAM ALIR.
SALAH SATU METODE UNTUK MEREPRESENTASIKAN
ALGORITMA SELAIN PSEUDOCODE DAN URUT-URUTAN
LANGKAH.
MENGGUNAKAN SIMBOL-SIMBOL BANGUN DATAR BESERTA
ANAK PANAH SEBAGAI PENUNJUK ARAH PROSES.
Variabel dan Tipe Data
Variabel = penyimpan nilai/ data.
Setiap masalah harus dianalisa terlebih dahulu variabel apa saja yang
terlibat/ dibutuhkan.
Setiap variabel ditentukan tipe datanya yang sesuai.
Variabel
Utama menyimpan data input/ output
8
Tipe data
Angka int, float, double, long, single
Turunan array, struct, union, pointer
Karakter char
Input dan Output
FORMAT
Angka %i, %d, %f
Huruf/ karakter %c
String/ array of char %s
Alamat memori %p
INPUT
scanf(format, variabel) scanf ( “%d”, &angka );
scanf merupakan fungsi untuk menginputkan berbagai jenis data
OUTPUT
printf(kalimat, variabel) printf ( “ipk = %f“, ipk );
printf merupakan fungsi untuk menampilkan hasil di monitor
Soal
9
3. Hitung THR=5000*MKH
4. Hitung PJ (pajak)= (15%*GAJI)+(15%*TIS)+(15%*TA)
5. Hitung BT (bantuan transport)=3000*MSK
6. Hitung GB (gaji bulanan)=(GAJI+TIS+TA+THR+BT)-(PJ+PA)
e.Tampilkan GB (gaji bulanan) sebagai hasil akhir.
f. Selesai .
FLOWCHART
START A
gbulan
A
END
#include "stdio.h"
10
void main()
{
int
gajipokok,jumlahanak,masakerjatahun,masukkerjahari,thr,tunjanganistri,pajak;
int tunjangananak,polisasuransi=20000,totalpendapatan,bantuantransport;
printf("gajipokok=");
scanf("%d",&gajipokok);
printf("jumlahanak:");
scanf("%d",&jumlahanak);
printf("masakerjatahun:");
scanf("%d",&masakerjatahun);
printf("masukkerjahari:");
scanf("%d",&masukkerjahari);
tunjanganistri=0.1*gajipokok;
tunjangananak=0.05*gajipokok*jumlahanak;
thr=5000*masakerjatahun;
bantuantransport=3000*masukkerjahari;
pajak=(0.15*gajipokok)+(0.15*tunjanganistri)+(0.15*tunjangananak);
totalpendapatan=gajipokok+tunjanganistri+tunjangananak+thr-
pajak+bantuantransport-polisasuransi;
printf("totalpendapatan=%d",totalpendapatan);
output program
Dalam program ini akhirnya kita dapat menganalisa suatu progam untuk
menghitung atau menginputkan suatu angka seperti gaji pokok, masa kerja, masuk
kerja, dan jumlah anak. Dan kita juga bisa mendapatkan pembahasan yang sesuai
dengan yang kita inginkan dengan soal atau rumus yang telah kita
11
Kesimpulan :
Dengan adanya pratikum modul 2 tentang materi input, output &tipe data 2 ini
akhirnya saya dapat mengerti dan memahami pratikum tersebut, dan saya
mengerti apa yang dimaksud dengan input & output.
MODUL 3
BRANCHING
LANDASAN TEORI
Salah satu implementasi algoritma dalam pemecahan suatu masalah
dengan berbagai alternatif jawaban yang tersedia dan harus mengambil keputusan
untuk memilih salah satu jawaban yang tepat. Perintah pengambilan keputusan
(decision) digunakan untuk memilih salah satu alternatif. Jawaban yang tepat dari
pilihan yang ada c++ menyediakan dua perintah pengambilan keputusan yaitu
perintah if dan perintah switch yang disertai dengan case.
Perintah if berguna untuk memilih satu dari 2 atau lebih alternatif jawaban
yang tersedia. Jika perintah if tersebut terdiri dari 2 atau lebih pernyataan, maka
pernyataan tersebut harus berada diantara begin dan end.
Perintah if memiliki bentuk umum
If (kondisi)
Pernyataan
Bentuk diatas mempunyai arti jika kondisi bernilai benar maka pernyataan
dibawahnya akan dikerjakan. Jadi perintah if merupakan perintah yang
menentukan pengambilan keputusan bahwa pernyatan itu akan dikerjakan atau
tidak
12
Pada perintah if dapat pula diikuti oleh pernyatan majemuk. Untuk itu
digunakan tanda {} untuk menandai awal dan akhir pernyataan yang akan
dikerjakan jika pernyataan benar.
If (kondisi)
{
Pernyataa1
Pernyataan 2
...
....
Pernytaan n
}
Perintah if-else mempunyai bentuk umum sebagai berikut
If(kondisi)
Pernyataan 1
Else
Pernyataan 2
Bentuk ini mempunyai arti : jika kondisi benar maka pernyataan 1 akan
dikerjakan dan jika kondisi salah maka pernyataan 2 yang akan dikerjakan
Printah if dalam if sering disebut nested-if. Perintah ini mempunyai bentuk
umum sebagai berikut
If (kondisi)
If (kondisi 2)
Pernyataan 1;
Else
Pernyataan 2;
Else
Pernyataan 3;
Pernyataan if dalam if juga mempunyai bentuk yang mejemuk yang sering disebut
if bertingkat. Bentuk umumnya adalah sebagai berikut :
If (kondisi 1)
Pernyataan 1;
13
Else if (kondisi 2);
Pernyataan 2;
Else if(kondisi 3)
Pernyataan 3;
Else if(kondisi 4)
Pernyataan 4;
...
...
Else
Pernyataan n;
Sesuai dengan bentuk umum diatas, maka dalam hakl ini jika kondisi 1 benar
maka pernyataan 1 yang akan dikerjakan dan apabila kondisi 1 tidak benar maka
kondisi 2 yang akan dilihat. Jika kondisi 2 benar maka pernyataan 2 yang akan
dikerjakan dan apabila kondisi 2 tidak benar maka kondisi 3 yang akan dilihat.
Jika kondisi 3 benar maka pernyataan 3 yang akan dikerjakan dan apabila kondisi
3 tidak benar maka kondisi 4 yang akan dilihat. Jika kondisi 4 benar maka
pernyataan 4 yang akan dikerjakan dan apabila kondisi 4 tidak benar maka
pernyataan terakhir yang akan dikerjakan (sesuai bentuk diatas, pernyataan n yang
terakhir)
Perintah switch merupakan pernyataan yang dirancang untuk menangani
pengam bilan keputusan yang melibatkan sejumlah pilihan alternatif yang
diantaranya untuk menggantikan pernyataan if bertingkat. Bentuk umumnya
adalah sebagai berikut :
Switch (ekspresi)
{
Case konstanta 1 :
Pernyataan 1;
Break;
Case konstanta 2 :
Pernyataan 2;
Break;
14
Case konstanta 3 :
Pernyataan 3;
Break;
Case konstanta 4 :
Pernyataan 4;
Break;
.....
......
.....
Case konstanta n :
Pernyataan n;
Break;
Default:
Pernyataan ;
}
Dari bentuk umum diatas, dapat dijelaskan bahwa ekspresi bisa brupa
ungkapan yang bernilai integer atau bertipe karakter. Setiap konstanta 1, konstanta
2,konstanta3, konstanta 4 sampai dengan konstanta n dapat berupa konstanta
integer atau konstanta karakter
Setiap pernyataan 1, pernyataan 2, pernyataan 3, pernyataan 4 sampai
pernyataan n dapat berupa sebuah atau beberapa pernyataan. Pengujian pada
switch akan dimulai dari konstanta 1. Apabila nilainya cocok dengan ekspresi
maka pernyataan 1 akan dijalankan. Kalau tidak cocok maka akan beralih ke
pernyataan 2 dan seterusnya sampai hasil yang diinginkan.
Jiak pernyataan break tidak diikut sertakan pada setiap case maka
walaupun konstantanya cocok dengan ekspresi, maka ssetelah pernyataan pada
case tersebut dikerjakan akan dilanjutkan ke case berikutnya sampai ditemui
pernyataan break pada akhir switch.
SOAL
15
1. Buatlah program untuk menghitung total komisi yang didapat oleh
seseorang:
Input : masukkan total pendapatan=Rp.650000
Output : anda mendapatkan komisi sebesar Rp=97500
Syarat
if tp dibawah Rp.500000 =komisi yang didapat 10%
if tp Rp.500000 – Rp.1000000 = komisi yang didapat 15%
if diatas Rp.1000000 = komisi yang didapat 20%
ALGORITHM
1. masukkan tp
2. setelah itu proses selanjutnya menghitung komisi:
jika tp <=500000 = maka akan dihitung dengan rumus komisi=0.1*tp:
jika tp >=500000 -<1000000= maka akan dihitung dengan rumus
komisi=0.15*tp:
jika tp diatas 1000000 = maka akan dihitung dengan rumus komisi=2*tp:
3. cetak hasil komisi yang didapat
4. selesai
FLOWCHART
16
start
tp
if if tp>=500000
tp<=5000 && Tp>10000
00 tp<=1000000 00
end
SOURCE CODE
#include "stdio.h"
void main()
{
int tp,km;
printf("masukan tp Rp=");
scanf("%d",&tp);
{
if (tp<=500000)
17
km=tp*0.1;
else
km=tp*0.2;
printf("anda mendapatkan komisi sebesarRp=%d",km);
}
printf("\n");
}
PROGRAM OUTPUT
ANALISA
DAN
PEMBAHASAN
1. if berfungsi memilih satu dari 3 atau lebih alternatif jawaban yang tersedia
2. if-else berfungsi jika kondisi benar maka pernyataan 1 akan dikerjakan dan
jika kondisi salah maka pernyataan 3 yang akan dikerjakan
3. Switch merupakan pernyataan yang dirancang untuk menangani
pengambilan keputusan yang melibatkan sejumlah pilihan alternatif yang
diantaranya untuk menggantikan pernyataan if bertingkat
18
4. perintah break menyebabkan eksekusi diarahkan ke akhir switch kalu nilai
konstanta 1 tidak sama dengan nilai ekspresi dan kemudian baru
diteruskan pengujian dengan konstanta 2 dan saterusnya. Jika sampai pada
pengujian akhir tidak ada yang cocok maka default akan dijalankan
KESIMPULAN
MODUL 4
PERULANGAN / LOOPING
LANDASAN TEORI
19
misalnya : mengulang proses pemasukan data, mengulang proses perhitungan dan
mengulang proses penampilan hasil pengolahan data.
Perintah For
Proses looping yang menggunakan penghitungan (counter) dapat dibuat
menggunakan pernyataan for. Pernyataan ini digunakan bila sudah tahu berapa
kali akan mengulang satu atau beberapa pernyataan.
Perintah ini merupakan salah satu perintah pengulangan yang seringkali
digunakan dan memiliki bentuk umum sebagai berikut :
For(ungkapan 1; keadaan; ungkapan 3)
{
pernyataan;
}
Bentuk diatas memiliki arti :
a. Ungkapan 1 adalah inisialisasi terhadap variabel pengendali looping
b. Keadaan adalah kondisi untuk keluar dari looping
c. Ungkapan 3 adalah pengatur kenaikan atau penurunan nilai variabel
pengendali looping.
Printah Do...While
Perintah ini menyatakan pengulangan proses selama kondisi tertentu.
Bentuk umumnya adalah sebagai berikut :
Do
Pernyataan;
While (keadaan);
Atau
Do
{
pernyataan;
pernyataan;
}
20
while (keadaan)
Setiap loop atau pengulangan dikerjakan maka kondisi akan dicek. Jika masih
benar, proses loop dilakukan lagi dan jika salah maka proses loop berhenti dan
berlanjut pada perintah selanjutnya.
Biasanya kondisi berupa counter angka tertentu yang setiap kali loop
dilakukan counter akan bertambah satu sampai kondisinya terpenuhi.
SOAL
1.Buat program untuk untuk menentukan bilangan prima atau bukan bilangan
prima
Dan jika ingin menghitung lagi tekan ‘y’ jika berhenti tekan ‘t’ ?
Output :
SOURCE CODE
#include<stdio.h>
#include"conio.h"
void main()
{
int n,jumlah_faktor;
char Z;
21
do{
printf("masukan angka: ");
scanf("%d",&n);
jumlah_faktor=0;
for(int i=1;i<=n;i++)
if(n%i==0)
jumlah_faktor++;
if(jumlah_faktor==2)
printf("angka %i termasuk bilangan prima\n", n);
else
{printf("angka %i bukan bilangan prima\n", n);
OUTPUT Program
ANALISA
22
DAN
PEMBAHASAN
KESIMPULAN
23
MODUL 5
PERULANGAN / LOOPING
LANDASAN TEORI
Perintah pengulangan (looping) digunakan untuk melakukan suatu proses
secara berulang – ulang. Jika suatu kondisi dipenuhi atau sebaliknya. Pada
prakteknya, proses pengulangan biasanya digunakan untuk beberapa hal.,
misalnya : mengulang proses pemasukan data, mengulang proses perhitungan dan
mengulang proses penampilan hasil pengolahan data.
24
Perintah For
Proses looping yang menggunakan penghitungan (counter) dapat dibuat
menggunakan pernyataan for. Pernyataan ini digunakan bila sudah tahu berapa
kali akan mengulang satu atau beberapa pernyataan.
Perintah ini merupakan salah satu perintah pengulangan yang seringkali
digunakan dan memiliki bentuk umum sebagai berikut :
For(ungkapan 1; keadaan; ungkapan 3)
{
pernyataan;
}
Bentuk diatas memiliki arti :
d. Ungkapan 1 adalah inisialisasi terhadap variabel pengendali looping
e. Keadaan adalah kondisi untuk keluar dari looping
f. Ungkapan 3 adalah pengatur kenaikan atau penurunan nilai variabel
pengendali looping.
Printah Do...While
Perintah ini menyatakan pengulangan proses selama kondisi tertentu.
Bentuk umumnya adalah sebagai berikut :
Do
Pernyataan;
While (keadaan);
Atau
Do
{
pernyataan;
pernyataan;
}
while (keadaan)
25
Setiap loop atau pengulangan dikerjakan maka kondisi akan dicek. Jika masih
benar, proses loop dilakukan lagi dan jika salah maka proses loop berhenti dan
berlanjut pada perintah selanjutnya.
Biasanya kondisi berupa counter angka tertentu yang setiap kali loop
dilakukan counter akan bertambah satu sampai kondisinya terpenuhi.
Perintah While
Perintah while ini prinsipnya sama dengan perintah do...while hanya
pengujian kondisinya terletak pada awal loop.
Bentuk umumnya adalah sebagai berikut :
While (keadaan)
Pernyataan;
Atau
While (keadaan)
{
pernyataan;
pernyataan;
}
Pernyataan dapat berupa pernyataan tunggal atau beberapa pernyataan yang
dibatasi dengan tanda {}. Pernyataan itu akan dijalankan jika kondisinya masih
benar.
Keadaan disini boleh merupakan sembarang pernyataan yang mengandung
nilai suatu variabel, pernyataan binari, pernyataan aritmatik atau nalai return hasil
dari memanggil suatu fungsi.
Dalam kasus sehari-hari akan ditemui terjadinya sebuah perulangan di
dalam perulangan. Misal proses makan dala satu hari. Dalam makan dialakukan
secara berulang-ulang, misalkan memasukkan makanan ke dalam mulut. Dan
ternyata di dalam proses satu kali memasukkan ke dalam mulut terdapat juga
proses yang berulang yatu menguyah makanan.
26
Dalam pemrograman kasus-kasus seperti inidikenal dengan istilah nested
looping / perulangan bersarang. Contoh bentuk umum statemennya jika
menggunakan perintah for adalah sebagai berikut :
for ( i …; … ; … )
{
for ( j … ; … ; … )
{
for ( k … ; … ; … )
{
staemen _ statemen ;
}// end k
}// end j
}// end
SOAL
N=5
543210
43210
3210
210
27
10
0
SOURCE CODE
#include "stdio.h"
void main()
{
int n;
char f;
do
{
printf("\t\tMENU\t\t\n");
printf("1. jajaran genjang\n");
printf("2. segitiga\n");
printf("silahkan anda pilih nomer\n");
scanf("%d",&n);
switch(n)
{
case 1:
{
int y,x,e,f;
printf("jajaran genjang\n");
printf("masukkan angka:\n");
scanf("%d",&y);
for(x=y;x>=1;x--)
{
for(e=x;e>=1;e--)
printf(" ");
28
for(f=0;f<=y-1;f++)
printf("*");
printf("\n");
}
}
break;
case 2:
{
int n,i,j;
printf("segitiga\n");
printf("masukkan angka :\n");
scanf("%d",&n);
for(i=n;i>=0;i--)
{
for(j=i;j>=0;j--)
{
printf("%d",j);
}
printf("\n");
}
}
break;
default:
printf("maaf nomer yang anda tekan salah\n");
}
printf("apakah anda ingin mengulang(y/n)?");
29
scanf("%s",&f);
}
while (f=='y');
}
Output Program
ANALISA
DAN
PEMBAHASAN
30
9. Pernyataan for digunakan bila anda sudah tahu berapa kali anda akan
mengulng suatu atau beberapa pernyataan.
10. Perintah do...while menyatakan pengulangan proses selama kondisi
tertentu. Setiap loop atau pengulangan dikerjakan maka kondisi akan
dicek. Jika masih benar, proses loop dilakukan lagi dan jika salah maka
prosesloop berhenti dan berlanjut pada perintah selanjutnya.
11. Perintan while menyatakan pengulangan proses selama kondisi tertentu
dan terletak pada awal loop. Setiap loop atau pengulangan dikerjakan
maka kondisi akan dicek. Jika masih benar, proses loop dilakukan lagi dan
jika salah maka prosesloop berhenti dan berlanjut pada perintah
selanjutnya. Setelah syaratnya terpenuhi baru dia akan membaca fungsi if-
else yang ada dibawahnya. Setelah terpenuhi dia akan mencetak dan akan
kembali mengulang setelah memenuhi syarat dari perulangan diatas untuk
berhenti baru akan menghentikan proses.
12. Perintah for di dalam for dalam perintah ini terjadi perulangan untuk
menampilakan sebuah hasil angka dan hasil spasi yang dibutuhkan dalam
program kali ini.
KESIMPULAN
31
Pada semua bahasa pemrograman pengulangan proses ditangani dengan
suatu mekanisme yang disebut loop. Misal menampilkan tulisan sebanyak
mungkin pada layar dapat di implementasikan dengan kode program yang
pendek . Membuat sebuah pernyataan ataupun angka berurutan tanpa harus
penginputan ulang. Pembuatan sebuah program perusahaan yang bisa diulang atau
kembali ke awal; setiap kali pemasukan data selesai ataupun salah.
Pada program yang kita buatkali ini,kita menemui sebuah masala baru
yaitu terdapatnya perintah for di dalam for. Dalam perintah ini terjadi perulangan
untuk menampilakan sebuah hasil angka dan hasil spasi yang dibutuhkan dalam
program kali ini.
MODUL 6
FUNGSI
Landasan Teori
Modul program di dalam c++ disebut fungsi (function). Program
c++ ditulis dengan mengkombinasikan fungsi baru yang ditulis oleh pemrogram
32
(disebut programmer – defined function) dengna fungsi yang telah tersedia di
dalam pustakanya (disebut standart library).
Fungsi merupakan blok dari koe yang dirancang untuk melakukan tugas
khusus. Adapuntujuan dari pembuatan fungsi adalah :
Program menjadi terstruktur. Program yang besar dapat dipecah menjadi
beberapa program yang lebih kecil, yang setiap satu program kecil tersebut
mempnyai tugas tertentu.
Dapat mengurangi duplikasi kode
Fungsi dapat dipanggil dari program atau fungsi yang lain
Pada umumnya fungsi memerlukan masukan yang dinamakan argumen
atau parameter. Hasil akhir fungsi akan berupa sebuah nilai (nilai balik
fungsi). Adapun bentuk umum definisi sebuah fungsi adalah
Penentu-tipe nama_fungsi (daftar parameter)
Deklarasi parameter
{
Tubuh fungsi
}
Penentu tipe berfungsi untuk menentukan tipe keluaran. Fungsi yang dapat
berupa salah satu tipe data c++ yang berlaku, misalnya char atau int. Default tipe
fungsi yang tidak disebutkan dianggap sebagai int
Sebuah fungsi dapat saja tidak mengandung parameter. Tentu saja untuk
kondisi ini deklarasi parameter juga tidak ada.
Soal
33
c. Volume kubus ( fungsi dengan return value )
Output program
ANALISA
DAN
PEMBAHASAN
34
1. Variabel tunggal adalah sebuah variabel yang hanya bisa dihubungkan
dengan sebuah nilai saja
2. Penentu tipe berfungsi untuk menentukan tipe keluaran fungsi yang dapat
berupa salah satu tipe data C++ yang berlaku, misalnya char atau int.
3. Suatu fungsi cukup didefinisikan sekali tetapi dapat digunakan beberapa
kali. Seandainya tubuh fungsi banyak mengnadung pernyataan maka
pemakaian fungsi dapat menghindari duplikasi kode dan menghemat
penulisan program maupun kode dalam memori. Jadi fungsi merupakan
semacam sub program
KESIMPULAN
Pada modul 6 ini dapat disimpulkan bahwa fungsi merupakan blok dari kode yang
dirancang untuk melakukan tugas khusus. Adapun tujuan dari pembuatan suatu
fungsi ini adalah
Program menjadi terstruktur, program yang besar dapat dipecah menjadi
beberapa program yang kecil, yang tiap satu program tersebut mempunyai
tugas tertentu
Mengurangi duplikasi kode
Fungsi dapat dipanggil dari program atau fungsi yang lain
Menghemat ukuran prigram, manfaat ini akan terasakan kalau ada beberapa
deretan instruksi yang sama digunakan pada beberapa tempat di dalam
program
Memudahkan dalam mengembangkan program, hal ini merupakan kunci
dalam pembuatan program terstruktur
Pada umumnya fungsi memerlukan masukan yang dinamakan argumen
atau parameter. Hasil akhir akan berupa sebuah nilai (nilai balik fungsi).
MODUL 7
LARIK/ARRAY
LANDASAN TEORI
35
Array merupakan koleksi data dimana setiap elemen memakai nama dan
tipe yan g sama serta setiap elemen diakses dengan membedakan indeks arraynya.
Berikut adalah contoh variabel bernama c yang mempunyai 7 lokasi memori yang
semuanya bertipe int.
C[0] -45
C[1] 6
C[2] 0
C[3] 72
C[4] 1543
C[5] 43
C[6] 4
36
Tipe: menyatakan jenis elemen arrray (int, char, unsigned, dan lain-lain)
Ukuran: menyatakan jumlah maksimal elemen array
Contoh:
Float nilai_ujian[5];
Pada turbo++ array disimpan dalam memori secara berurutan. Elemen
pertama berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]
Masing-masing bertipe float dan berjumlah 5 elemen. Selain itu deklarasi array
juga dapat berupa :
Static int bulan [8]={1,2,3,4,5,6,7,8,); . Sesuai dengan deklarasi array
diatas, maka isi variabel array telah ditentukan yaitu:
Bulan [0] bernilai 1
Bulan [1] bernilai 2
Bulan [2] bernilai 3
Bulan [3] bernilai 4
Bulan [4] bernilai 5
Bulan [5] bernilai 6
Bulan [6] bernilai 7
Bulan [7] bernilai 8
Bulan [8] bernilai 9
SOAL
37
2. membalik kata
SOURCE CODE
#include "iostream.h"
#include "string.h"
void main()
{
38
int i;
char y;
do
{
("\t\tMENU\t\t\n");
cout<<"1. menghitung rata-rata\n";
cout<<"2. mengcopy dan membalik kata\n";
cin>>i;
switch(i)
{
case 1:
{
int a,b,c[20],g=0,e;
cout<<"masukan banyak data?";
cin>>a;
for(b=0;b<a;b++)
{
cout<<"data ke "<<b<<endl;
cin>>c[b];
g=g+c[b];
}
for(b=0;b<a;b++)
{
cout<<"data ke-"<<b;
cout<<"= "<<c[b]<<endl;
}
e=g/a;
cout<<"rata-rata= "<<e<<endl;
}
break;
case 2:
39
{
char a[20],b,c[20],d;
cout<<"masukan sebuah kata kata:\n";
cin>>a;
b=strlen(a);
for(d=0;d<b;d++)
cout<<a[d];
cout<<endl;
for(d=b;d>=0;d--)
{
c[d]=a[d];
cout<<c[d];
}
cout<<endl;
}
break;
default:
cout<<"maaf pilihan anda tidak ada";
}
cout<<"apakah anda ingin mengulang(y/n)?";
cin>>y;
}
while(y=='y');}
Output program
40
41
ANALISA
DAN
PEMBAHASAN
2. Array merupakan koleksi data dimana setiap elemen memakai nama dan
tipe yang sama serta setiap elemen diakses dengan membedakan indeks
arraynya
3. Variable array dideklarsikan dengan mencantumkan tipe dan nama
variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat
4. Banyaknya lokasi memori dapat secara otomatis disediakan sesuai dengan
banyaknya nilai yang akan dimasukkan
5. Array adalah struktur data yang menyimpan sekumpulan elemen yang
sama. Stiap elemen diakses langsung melalui indeksnya. Indeks larik
haruslah tipe data yang menyatakan keurutan
6. Variabel tunggal adalah sebuah variabel yang hanya bisa dihubungkan
dengan sebuah nilai saja
7. Array adalah variabel yang mempunyai satu nama tetapi mampu
menyimpan lebih dari satu data
8. Perbedaan dari array dan variabel tunggal adalah
* sebuah array dapat mempunyai sejumlah nilai, sedang sebuah variabel
tunggal hanya dihubungkan dengan sebuah nilai saja
* jika nilai-nilai ini akan dihubungkan dengan sebuah nama saja, maka
dapat digunakan sebuah larik. Jika digunakan sebuah variabel untuk
menyimpan nilai-nilai tersebut maka harus digunakan tiga buah variabel
dengan nama-nama yang berbeda
42
KESIMPULAN
MODUL 8
43
STRUCT/STRUCTURE
LANDASAN TEORI
44
Penulisan deklarasi tersebut dapat juga ditulis sekaligus seperti di bawah
ini :
Struct mhs
{
Char *nama;
Char *nim;
Int uts, uas;
Float akhir;
Char mutu;
}
X, y[100], *z;
Inisialisasi terhadap variabel struktur ini dapat dilakukan seperti contoh berikut :
Struct mhs x = {”asterix”, 80,60,76,8,’a’);
Untuk mengakses aggota dari struktur digunakan salah 6satu dari dua
operator, yaitu operator titik (.), atau operator panah (->)tergantung tipe variabel
yang dideklarasikan. Jika variabel tunggal (misalnya x) maka digunakan operator
titik, sedangkan jika variabel pointer (misalnya z )( maka digunakan operator
panah, seperti yang terdapat pada dua pernyataan berikut :
Printf(”%s”,x.nama);
Printf(”%s”,z->nama);
Operasi yang sering ditetapkan pada struktur adalah proses menyalin atau
menunjukkan struktur sebagai unit, menggunakan alamatnya dan mengakses
anggotanya. Copy dan assigment mencakup memberi argumen ke fungsi dan
manghasilkan nilai dari fungsinya juga
Struktur bisa diletakkan diawal oleh daftar value konstanta dan otomatis
juga bisa ditempatkan di awal oleh operasi assigment. Sebuah struktur otomastis
mungkin juga diletakkan di depan oleh tugas atau oleh panggilan fungsi yang
menghasilkan struktur jenis yang tepat.
Untuk menghubungkan nama struktur dan nama anggota digunakan
simbol ”.”.
45
SOAL
ALGORITHM
46
5. Deklarasikan fungsi untuk struct
Menu
a. Input data.
b. Output data
c. Hapus data
d. Ubah data
e. Mencari data
f. exit
6. Masukkan kode
7. Jika kode yang dimasukkan adalah 1 maka kerjakan langkah 8
8. Jika kode yang dimasukkan adalah 2maka kerjakan langkah 9
9. Jika kode yang dimasukkan adalah 3maka kerjakan langkah 10
10. Jika kode yang dimasukkan adalah 3maka kerjakan langkah 11
11. Jika kode yang dimasukkan selain 1,2,3,4 dan x maka kerjakan langkah 12
12. Sesuai dengan langkah 1 maka untuk input data. Algoritmanya adalah sbb:
a. masukkan kode barang
b. masukkan nama barang
c. masukkan jumlah barang
d. masukkan harga barang
e. stok barang
f. program akan disimpan
g. selesai
13. Sesuai dengan langkah 1 maka untuk operasi output data Algoritmanya
adalah sbb:
a. pencetakan data menggunakan fungsi display
b. fungsi yang dipanggil melalui menu utama.
c. Selesai
14. Sesuai dengan langkah 1 maka untuk operasi hapus data Algoritmanya
adalah sbb:
47
a. masukkan kode yang akan dihapus
b. program akan mencari melalui kode cari
c. setelah data ditemukan maka secara otomatis data akan terhapus
setelah menekan enter
d. Selesai
15. Sesuai dengan langkah 1 maka untuk operasi ubah data Algoritmanya
adalah sbb:
a. masukkan kode yang akan diubah
b. secara otomatis program akan menghapus dan mengganti dengan
data yang baru
c. masukkan kode yang baru
d. masukkan nama barang
e. masukkan jumlah barang
f. masukkan harga barang
g. masukan stok barang
program disimpan
h. Selesai
16. Sesuai dengan langkah 1 maka untuk keluaran tampilkan tulisan terima
kasih
17. sebuah kode akan dimasukkan pernyataan mengulang. Jika ya maka akan
kembali ke langkah 2 dan jika tidak maka kerjakan langkah 14
18. selesai.
48
FLOWCHART
SOURCE CODE
49
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "conio.h"
struct barang
{
char kode[30];
char nama[30];
int harga[30];
int jumlah[30];
int stok[30];
};
barang dagangan[30];
50
else
{
puts ("data tidak valid[kembar]");
dagangan[n].kode[0]=NULL;
n--;
}
n++;
puts("ENTER");
getch();
}
printf("--------------------------------------------------------------------------\n");
printf(" Pencetakan semua data barang \n");
printf("--------------------------------------------------------------------------\n");
printf("=====================================================
=====================\n");
printf("| No | Nama_barang | kode | Jumlah | harga |
stok \n");
printf("=====================================================
=====================\n");
for (int i=0;i<n;i++)
{
printf("| %d | %s | %d| %d | %d | %.2d
\n",i+1,dagangan[i].nama,dagangan[i].kode,dagangan[i].jumlah[i],dagangan[i].har
ga[i],dagangan[i].stok[i]);
}
}
puts("ENTER");
getch();
}
51
void hapus(int &n)
{
char kode_cari[15];
if(n==0)
{
puts("penghapusan gagal");
}
else
{
printf("-------------------------------------\n");
printf(" Penghapusan data barang \n");
printf("-------------------------------------\n");
for (int i=0;i<n;i++)
printf("kode barang=%s |",dagangan[i].kode);
}
fflush(stdin);puts(" ");
printf("masukkan kode barang{yang akan dihapus}:");
gets (kode_cari);
for(int i=0;i<n;i++)
{
if(strcmp(dagangan[i].kode,kode_cari)==0)
{
printf("\n");
printf(">>>Data Ditemukan<<<");
printf("\n\n");
printf("data ke_%d terhapus\n",i+1);
dagangan[i].kode[i]=NULL;
dagangan[i].nama[i]=NULL;
dagangan[i].harga[i]=NULL;
dagangan[i].jumlah[i]=NULL;
dagangan[i].stok[i]=NULL;
for(int k=i;k<n;k++)
{
strcpy(dagangan[k].kode,dagangan[k+1].kode);
strcpy(dagangan[k].nama,dagangan[k+1].nama);
dagangan[k].harga[i]=dagangan[k+1].harga[i];
dagangan[k].jumlah[i]=dagangan[k+1].jumlah[i];
dagangan[k].stok[i]=dagangan[k+1].stok[i];
}
n--;
}
}
puts(" ");
puts("ENTER");
52
getch();
}
void edit(int&n)
{
int b=0;
char kode_cari[15],ukode[15],unama[30],cari[15];
int uharga[30];
int ujumlah[30],ustok[30];
if(n==0)
{
puts("Pengubahan Gagal");
}else
{
printf("-------------------------------------\n");
printf(" mengedit barang dagangan \n");
printf("-------------------------------------\n");
for(int i=0;i<n;i++)
printf("kode barang=%s | ",dagangan[i].kode);
}
fflush(stdin);puts(" ");
printf("masukkan kode barang yang akan diedit:");
gets(cari);
for(int i=0;i<n;i++)
{
if(strcmp(dagangan[i].kode,cari)==0)
{
printf("\n");
printf("Data ditemukan");
printf("\n\n");
dagangan[i].kode[i]=NULL;
dagangan[i].nama[i]=NULL;
fflush(stdin);
printf("masukkan kode barang =");
gets(kode_cari);
for(int j=0;j<n+1;j++)
{
if(strcmp(dagangan[j].kode,kode_cari)==0)
{
b=1;
}
}
strcpy(ukode,kode_cari);
if(b==0)
53
{
printf("masukkan nama barang =");
gets(unama);
printf("masukan harga barang=");
scanf("%d",&uharga);
printf("masukan jumlah barang =");
scanf("%d",&ujumlah);
printf("masukan stok barang =");
scanf("%d",&ustok);
printf("\ndata ke-%d telah di edit\n",i+1);
strcpy(dagangan[i].kode,ukode);
strcpy(dagangan[i].nama,unama);
dagangan[i].harga[i]=uharga[i];
dagangan[i].jumlah[i]=ujumlah[i];
}
else
{
puts("data tidak valid[kembar]");
dagangan[n].kode[0]=NULL;
}
}
}
puts(" ");
puts("ENTER");
getch();
}
void mencari(int&n)
{
int b=0,s;
char kode_cari[15],ukode[15],unama[30],cari[15];
int uharga[30];
int ujumlah[30],ustok[30];
fflush(stdin);puts(" ");
printf("masukkan kode barang yang akan dicari:");
gets(cari);
for(int i=0;i<n;i++)
{
if(strcmp(dagangan[i].kode,cari)==0)
{
printf("\n");
printf("Data ditemukan");
printf("\n\n");
}
54
if(n==0)
{
puts("Pengubahan Gagal");
}else
{
printf("--------------------------------------------------------------------------\n");
printf(" Pencetakan semua data perusahaan \n");
printf("--------------------------------------------------------------------------\n");
printf("=====================================================
=====================\n");
printf("| No | Nama_barang | kode | Jumlah | harga |
stok \n");
printf("=====================================================
=====================\n");
for (int i=0;i<n;i++)
{
printf("| %d | %s | %d| %d | %d | %.2d
\n",i+1,dagangan[i].nama,dagangan[i].kode,dagangan[i].jumlah[i],dagangan[i].har
ga[i],dagangan[i].stok[i]);
}
}}
void main(void)
{
int pilihan,n=0;
do
{
// fflush(stdin);
// system("cls");
printf("=====================================================
\n");
printf("\t Program data perusahaan \n");
55
printf("=====================================================
\n");
printf("1. Input Data\n");
printf("2. Output Data\n");
printf("3. Hapus Data\n");
printf("4. Ubah Data\n");
printf("5. mencari Data\n");
printf("6. Exit\n");
printf("\n masukkan pilihan anda (1-6) :");
scanf("%d",&pilihan);
switch (pilihan)
{
case 1 :
memasukan_data(n);
break;
case 2 :
menampilkan(n);
break;
case 3 :
hapus(n);
break;
case 4 :
edit(n);
break;
case 5 :
mencari(n);
break;
case 6 :
puts (" exit");
puts ("terima kasih ");
break;
default :
puts("menunya cuman 6 dodol !!!");
puts("ENTER");
getch();
}
printf("\n");
}
while (pilihan !=6);
}
56
Output program
Input data
Output data
57
Hapus data dan ubah data
58
Mencari data
59
Exit
ANALISA
DAN
PEMBAHASAN
60
( maka digunakan operator panah, seperti yang terdapat pada dua
pernyataan berikut :
Printf(”%s”,x.nama);
Printf(”%s”,z->nama);
4. Struktur bisa diletakkan diawal oleh daftar value konstanta dan otomatis
juga bisa ditempatkan di awal oleh operasi assigment. Sebuah struktur
otomastis mungkin juga diletakkan di depan oleh tugas atau oleh
panggilan fungsi yang menghasilkan struktur jenis yang tepat.
KESIMPULAN
Pada modul 8 ini dapat disimpulkan bahwa struct adalah tipe data turunan
atau variabel yang bisa untuk menyimpan beberapa data yang bisa berbeda
tipenya. Struct juga seringkali dikombinasikan dengan array yang disebut dengan
array of struct. Struktur bisa diletakkan di awal oleh daftar value konstanta dan
otomatis juga bisa ditempatkan di awal oleh operasi assigment. Sebuah struktur
otomatis mungkin juga diletakkan didepan oleh tugas atau oleh panggilan fungsi
yang menghasilkan struktur jenis yang lebih tepat.
61
DAFTAR PUSTAKA
62