Anda di halaman 1dari 60

LAPORAN RESMI

PRAKTIKUM BAHASA PEMROGRAMAN


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)
LABORATORIUM BAHASA PEMROGRAMAN
TEKNIK INFORMATIKA FTI
UNIVERSITAS PEMBANGUNAN NASIONAL VETERAN
JATIM
2007

LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum

: Bahasa Pemrograman 1

Modul

: 1-8

Rombongan

: E1

Kelompok

: A

Surabaya, 25 Oktober 2007


Menyetujui,
Asisten Penguji I

AsistenPenguji II

________________

__________________

Rendtya Prasetyo

Yulien Yohanes

NPM: 0534010002

NPM: 0534010014

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

ALGORITMA

METODE

SELAIN

UNTUK

PSEUDOCODE

MEREPRESENTASIKAN
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

Angka int, float, double, long, single

Turunan array, struct, union, pointer

Karakter char

Tipe data

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

I. Soal
1. Buatlah algoritma dan flowchart untuk mencari :
a.

Luas segitiga

b.

Volume bola

II. Analisa dan Pembahasan


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.

III.Algoritma dan flowchartnya :


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

2. Algoritma untuk mencari Volume Bola :


a.

Mulai

b.

Tentukan r (jari-jari bola)

c.

Gunakan

d.

Hitung volume bola dengan cara 4

e.

Selesai

= 3.14 untuk mencari volume


3

r3

FLOWCHART

FLOWCHART
LUAS SEGITIGA :

START
a,t

FLOWCHART VOLUME
BOLA :

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
//Program Volume Bola:
#include "stdio.h"
void main ()
{
int r;
float V;
puts ("VOLUME BOLA");
printf ("Masukkan jari-2: ");
scanf ("%i", & r);
V=(float)4/3*3.14*r*r*r;
printf ("Volume Bola:%f\n", V);
}

Contoh Output Program :


LUAS SEGITIGA

VOLUME BOLA

VI. Kesimpulan :
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

ALGORITMA

METODE

SELAIN

UNTUK

PSEUDOCODE

MEREPRESENTASIKAN
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

Angka int, float, double, long, single

Turunan array, struct, union, pointer

Karakter char

Tipe data

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
Buatlah program untuk menghitung total pendapatan bulanan seorang
karyawan dengan ketentuan sebagai berikut :
Tunjangan istri/suami = 10% dari gaji pokok
Tunjangan anak = 5% dari gaji pokok untuk setiap anak
THR = Rp 5000 kali masa kerja (tahun)
(-) Pajak = 15% dari gaji pokok, tunjangan istri & anak
Bantuan transport = Rp 3000 kali masuk kerja (hari)
(-) Polis Asuransi = Rp 20000
Tanda (-) artinya mengurangi pendapatan.
2. Algoritma total gaji bulanan :
a.
Mulai
b.
Tentukan GAJI(gaji pokok), MKH(masa kerja (tahun)), MSK (masuk
kerja(hari)), dan JA (jumlah anak)
c.
Gunakan PA (polis asuransi)= Rp 20000 dalam perhitungan
d.
Hitunglah :
1. Pertama-tama hitung dulu TIS(tunjangan istri/suami)=10%*GAJI
2. Hitung TA(tunjangan anak) = 5%*GAJI*JA
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

GAJI, MKH,
MSK, JA

TIS=10%*GAJI
TA= 5%*GAJI*JA
THR=5000*MKH
p= (15%*GAJI)+(15%*TIS)+(15%*TA)
bt=3000*MSK
Gbulan=(GAJI+TIS+TA+THR+BT)(PJ+PA)

PA = Rp
20000

gbulan

END

Listing Source Code :


Mencari total gaji bulanan :
#include "stdio.h"
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);

10

totalpendapatan=gajipokok+tunjanganistri+tunjangananak+thrpajak+bantuantransport-polisasuransi;
printf("totalpendapatan=%d",totalpendapatan);
}

output program

Analisa dan Pembahasan


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

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

11

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

12

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

13

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

14

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

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

15

FLOWCHART

start
tp

if
tp<=5000
00

if tp>=500000
&&
tp<=1000000

Tp>10000
00

Km = tp*0.1

Km = tp*0.15

Km = tp*0.2

Cetak
hasil km

Cetak
hasil km

Cetak
hasil km

end

SOURCE CODE
#include "stdio.h"
void main()
{
int tp,km;
printf("masukan tp Rp=");
scanf("%d",&tp);
{

16

if (tp<=500000)
km=tp*0.1;
else if (tp>=500000 && tp<=1000000)
km=tp*0.15;
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

17

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
Pada modul 3 ini dapat disimpulkan bahwa perintah if (decision)
berfungsi memilih satu dari 3 atau lebih alternatif jawaban yang tersedia. 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.
Pada program yang kita buat kali ini,kita menemui sebuah masalah baru
yaitu terdapatnya perintah if di dalam if. Dalam perintah ini terjadi pangujian
untuk menampilkan sebuah hasil angka dan hasil spasi yang dibutuhkan dalam
program kali ini.

MODUL 4
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.,

18

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;
}
while (keadaan)

19

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;
do{
printf("masukan angka: ");

20

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

} printf ("anda mau mengulanginya lagi :");


scanf ("%s", & Z);}
while (Z=='Z' || Z=='Z');
}

OUTPUT Program

ANALISA
DAN
PEMBAHASAN

21

5. Looping digunakan untuk melakukan suatu proses secara berulang


ulang, jika suatu kondisi dipenuhi atau sebaliknya.
6. Pernyataan for digunakan bila anda sudah tahu berapa kali anda akan
mengulng suatu atau beberapa pernyataan.
7. Perintah do...while di atas menyatakan pengulangan proses selama anda
menginginkan untuk melakukan proses lagi. berlanjut pada perintah
selanjutnya.

KESIMPULAN

Pada modul 4 ini dapat disimpulkan bahwa perintah pengulangan


digunakan untuk melakukan suatu proses secara berulang ulang. Jika suatu
kondisi dipenuhi dan sebaliknya. Mengulang suatu proses merupakan tindakan
yang banyak dijumpai dalam suatu pemrograman.
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 masalah baru
yaitu terdapatnya perintah do.. while.yang memungkinkan kita apakah kita ingin
melanjutkannya lagi atau tidak.

22

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

23

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)
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

24

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.
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 ; ; )
{

25

staemen _ statemen ;
}// end k
}// end j
}// end

SOAL

1. buatlah program untuk mencetak


*******
*******
*******
*******
*******
N=5

Serta mencetak pola angka seperti


N=5
543210
43210
3210
210
10
0

SOURCE CODE

#include "stdio.h"
void main()
{
int n;

26

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(" ");
for(f=0;f<=y-1;f++)
printf("*");
printf("\n");

}
}
break;
case 2:
{
int n,i,j;

27

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)?");
scanf("%s",&f);
}
while (f=='y');
}

Output Program

28

ANALISA
DAN
PEMBAHASAN

8. Looping digunakan untuk melakukan suatu proses secara berulang


ulang, jika suatu kondisi dipenuhi atau sebaliknya.
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 ifelse yang ada dibawahnya. Setelah terpenuhi dia akan mencetak dan akan

29

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

Pada modul 5 ini dapat disimpulkan bahwa perintah pengulangan


digunakan untuk melakukan suatu proses secara berulang ulang. Jika suatu
kondisi dipenuhi dan sebaliknya. Mengulang suatu proses merupakan tindakan
yang banyak dijumpai dalam suatu pemrograman.
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.

30

MODUL 6
FUNGSI
Landasan Teori
Modul program di dalam c++ disebut fungsi (function). Program
c++ ditulis dengan mengkombinasikan fungsi baru yang ditulis oleh pemrogram
(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
{

31

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
1. Buat program yang berisi menu untuk menghitung :
( dengan menggunakan fungsi ) ?
a. Luas segitiga ( fungsi tanpa parameter )
b. Luas persegi ( fungsi parameter )
c. Volume kubus ( fungsi dengan return value )

Output program

32

ANALISA
DAN
PEMBAHASAN

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

33

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
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]
C[1]
C[2]
C[3]
C[4]
C[5]

-45
6
0
72
1543
43

34

C[6]

Masing-masing nilai dalam setiap lokasi mempunyai identitas berupa


nama c dan nomor indeks yang dituliskan di dalam tanda kurung siku [.........].
Sebagai contoh 72 adalah nilai dari c[3].
Variabel array dideklarasikan dengan mencantumkan tipe dan nama
variabel yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan
demikian, deklarasi untuk variabel array c diatas adalah:
Int c[7]
Perlu diperhatikan bahwa c++ secara otomatis akan menyediakan lokasi memori
sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0.
Nilai suatu variabel array dapat juga diinisialisasikan secara langsung pada saat
deklarasi, misalnya:
Int c[7]={-45,0,6,72,1543,43,4};
Berarti setiap lokasi memori dari variabel array c langsung diisi dengan nilai-nilai
yang dituliskan di dalam tanda kurung kurawal.
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai dengan
banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya
membuat variabel array dengan 10 okasi memori:
Int x[ ]={10,15,12,5,13,9,6,17,25,31};
Bentuk array dimensi satu:
Tipe nama_var[ukuran];
Dengan:
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]

35

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

2. Buatlah program dengan menggunakan array sebagai berikut


Output :
menu
1. menghitung rata-rata
2. membalik kata

36

SOURCE CODE
#include "iostream.h"
#include "string.h"
void main()
{
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:

37

{
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:
{
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];

38

}
cout<<endl;
}
break;
default:
cout<<"maaf pilihan anda tidak ada";
}
cout<<"apakah anda ingin mengulang(y/n)?";
cin>>y;
}
while(y=='y');}
Output program

39

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

40

* 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

KESIMPULAN

Pada modul 7 ini dapat disimpulkan bahwa larik/array adalah struktur


data yang menyimpan sekumpulan elemen yang sama. Setiap elemen diakses
langsung melaui indeksnya. Indeks larik haruslah tipe data yang menyatakan
keurutan mosalnya integer atau karakter.
Pemrosesan array yaitu algoritma skema umum pemrosesan array adalah
memproses setiap elemen array secara berurutan mulai dari

indeks terkecil

sampai indeks terbesar.

41

MODUL 8
STRUCT/STRUCTURE
LANDASAN TEORI
Struktur (structures) adalah sekumpulan variabel yang masing-masing tipe
datanya bisa berbeda, dan dikelompokkan kedalam satu nama. (Menurut pascal
struktur juga dikenal sebagai record). Struktur membantu mengatur data-data yang
rumit, khususnya dalam program yang besar, karena struktur membiarkan
sekelompok variabel diperlakukan sebagai satu unit.
Struktur ini sering digunakan untuk mendefinisikan suatu record data yang
disimpan di dalam file. Struktur termasuk ke dalam tipe data yang dibangkitkan
(derived data type), yang disusun menggunakan obyek dengan tipe yang lain.
Struct mhs
{
Char *nama;
Char *nim;
Int uts, uas;
Float akhir;
Char mutu;
}
Kata kunci struct menunjukkan definisi struktur, dan identifikasi mhs
menunjukkan strukture tag. Dengan demikian terdapat tipe data baru bernama

42

struct mhs, yang terdiri dari nama mahasiswa, nilai ujian tengah semester, akhir
semester, nilai akhir, dan huruf mutu, yang masing-masing disebut dengan field.
Oleh karena itu, jika ingin mendeklarasikan variabel dengan tipe tersebut,
dapat dituliskanseperti contoh berikut :
Struct mhs x, y[100], *z;
Variabel x adalah variabel tunggal, y adalh variabel array dengan 100
lokasi memori, dan z adalah variabel pointer, yang kesemuanya masing-masing
berisi field diatas. Jadi, variabel y adalah daftar nama, nilai uts, uas, akhir, dan
huruf mutu dari 100b mahasiswa.
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

43

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

3. Buatlah program untuk menghitung dengan menggunakan struktur sebagai


berikut
Output :
1. kode barang
2. nama barang
3. jumlah barang
4. harga barang
5. sruk barang
Untuk menu
1. memasukan data
2. menampilkan data
3. hapus data
4. mengedit data
5. mencari data
6. exit

44

ALGORITHM

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:

45

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

46

FLOWCHART

47

SOURCE CODE
#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];
void memasukan_data(int &n)
{
int a=0;
char kode_cari[15];
fflush(stdin);
printf("-------------------------------------\n");
printf("
Pengisian data barang \n");
printf("-------------------------------------\n");
printf("masukkan kode barang
=");
gets (kode_cari);
for(int i=0;i<n+1;i++)
{
if(strcmp(dagangan[i].kode,kode_cari)==0)
{
a=1;
}
}
strcpy(dagangan[n].kode,kode_cari);
if(a==0)
{
printf("masukkan nama barang
=");
gets(dagangan[n].nama);
printf("masukkan harga barang
=");
scanf("%d",dagangan[n].harga);
printf("masukkan jumlah barang
=");
scanf("%d",dagangan[n].jumlah);
printf("masukkan stok barang =");
scanf("%d",dagangan[n].stok);

48

printf("\ndata ke-%d sudah disimpan\n",n+1);


}
else
{
puts ("data tidak valid[kembar]");
dagangan[n].kode[0]=NULL;
n--;
}
n++;
puts("ENTER");
getch();
}
void menampilkan(int &n)
{
system("cls");
if(n==0)
{
puts("Percetakan Data Gagal");
}
else
{
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();

49

}
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");
getch();

50

}
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)
{
printf("masukkan nama barang
=");
gets(unama);

51

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");
}
if(n==0)
{
puts("Pengubahan Gagal");
}else

52

{
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");
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");

53

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

Output program
Input data

54

Output data

Hapus data dan ubah data

55

Mencari data

56

Exit

ANALISA
DAN

57

PEMBAHASAN

9. Struktur (structures) adalah sekumpulan variabel yang masing-masing tipe


datanya bisa berbeda, dan dikelompokkan kedalam satu nama. (Menurut
pascal struktur juga dikenal sebagai record).
10. Struktur ini sering digunakan untuk mendefinisikan suatu record data yang
disimpan di dalam file. Struktur termasuk ke dalam tipe data yang
dibangkitkan (derived data type), yang disusun menggunakan obyek
dengan tipe yang lain.
11. 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);
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

58

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.

DAFTAR PUSTAKA

59

Hartono Jogiyanto, MBA, ph.D. 2003. Konsep Dasar Pemrograman Bahasa C.


Yogyakarta; Andi.
Kristanto Andri. 2003. Algoritma dan Pemrograman dengan C++. Yogyakarta;
Graha ilmu.

60

Anda mungkin juga menyukai