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
AsistenPenguji II
________________
__________________
Rendtya Prasetyo
Yulien Yohanes
NPM: 0534010002
NPM: 0534010014
MODUL 1
INPUT DAN OUTPUT DATA 1
Landasan Teori
Algoritma
Flowchart
SALAH
SATU
ALGORITMA
METODE
SELAIN
UNTUK
PSEUDOCODE
MEREPRESENTASIKAN
DAN
URUT-URUTAN
LANGKAH.
Setiap masalah harus dianalisa terlebih dahulu variabel apa saja yang
terlibat/ dibutuhkan.
Variabel
Karakter char
Tipe data
FORMAT
Huruf/ karakter %c
Alamat memori %p
INPUT
OUTPUT
I. Soal
1. Buatlah algoritma dan flowchart untuk mencari :
a.
Luas segitiga
b.
Volume bola
Mulai
b.
c.
d.
e.
Selesai
Mulai
b.
c.
Gunakan
d.
e.
Selesai
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
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
Flowchart
SALAH
SATU
ALGORITMA
METODE
SELAIN
UNTUK
PSEUDOCODE
MEREPRESENTASIKAN
DAN
URUT-URUTAN
LANGKAH.
Setiap masalah harus dianalisa terlebih dahulu variabel apa saja yang
terlibat/ dibutuhkan.
Variabel
Karakter char
Tipe data
FORMAT
Huruf/ karakter %c
Alamat memori %p
INPUT
OUTPUT
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
10
totalpendapatan=gajipokok+tunjanganistri+tunjangananak+thrpajak+bantuantransport-polisasuransi;
printf("totalpendapatan=%d",totalpendapatan);
}
output program
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
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
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
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);
OUTPUT Program
ANALISA
DAN
PEMBAHASAN
21
KESIMPULAN
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
24
25
staemen _ statemen ;
}// end k
}// end j
}// end
SOAL
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
29
KESIMPULAN
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 :
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
33
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]
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
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
KESIMPULAN
indeks terkecil
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
44
ALGORITHM
45
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
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
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
55
Mencari data
56
Exit
ANALISA
DAN
57
PEMBAHASAN
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
60