Laporan Praktikum Struktur Data Modul 4 Array Dalam Fungsi

PRAKTIKUM


    • Praktikum 1
  • Studi Kasus
Dalam sebuah deret bilangan yang dikumpulkan dalam variabel array yang terdiri dari 10 elemen, dari setiap bilangan tersebut memiliki alamat indeksnya, dengan memasukan sebuah bilangan yang terdapat divariabel array kita dapat mengetahui alamat indeks dari bilangan tersebu pada nomor indeks berapa bilangan itu tersimpan.
  • Script Program
#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;

int main()
{
int A [10] ={12,24,13,25,10,11,21,20,15,18};
int bil,c;
for(int i=0; i<10; i++)
{
cout<<"Indeks-["<<i<<"]"<<" "<<A[i]<<endl;
}
cout<<endl;


cout<<"Masukan bilangan yang akan dicari : ";
cin>>bil;
for( c =0; c<10 ;c++)
{

if(A[c]==bil)
{
cout<<"Bilangan yang anda cari berada di indeks ke-"<<c;
break;
}
}
if(bil!=A[c])
cout<<"\nBilangan yang anda cari tidak terdaftar";
getch();
return 0;
}
  • Output
  • Penjelasan
Program ini untuk mencari pada indeks ke berapa nilai yang kita inputkan berada. Untuk menentukan pada indeks berapa, pertama kita harus inputkan nilai indeks yang sudah ditentukan, nilai indeksnya adalah 12, 24, 13, 25, 10, 11, 21, 20, 15, 18. ketika user memasukan nilai, maka program akan menjalankan fungsi for, untuk melakukan proses pengulangan, didalam for terdapat if yang berguna untuk mencari nilai indeksnya. Jadi fungsi for akan mengulangi fungsi if, sampai nilai yang dimasukan oleh user ada dalam indeks,jika sudah ketemu, maka akan menampilkan sebuah output dan proses perulangan akan berhenti. Jika nilai yang dimasukan tidak ada maka program akan menjalankan fungsi if yang kedua yang berada diluar for


    • Praktikum 2
  • Studi Kasus
Mobil 13 adalah perusahaan mobil yang menjual mobil bekas, berdagang mobil bekas selama bertahun tahun ternyata hanya ada 3 merk mobil yang selalu dicari oleh konsumen yaitu Toyota, Honda, dan Suzuki. Mobil 13 saat ini sudah memiliki cabang di 3 kota besar yaitu Jakarta, Surabaya, dan Medan dengan semakin banyaknya konsumen yang percaya dengan kualitas mobil bekas yang dijual oleh mobil 13 perusahaan membuthkan program yang dapat mencatat semua penjualan mobil bekas perbulan disetiap cabangnya, selama ini masih diperhitungan masih bersifat manual dalam bentuk bagan dikertas
  • Script Program
#include<stdio.h>
#include<conio.h>
void judul(char kota[11])
{
char merek[3][7] ={"Toyota","Honda","Suzuki"};
char bulan [13][4]={"Jan","Feb","Mar","Apr","Mei","Jun","jul","Ags","Sep","Okt",
"Nop","Des","JML"};

int i;
clrscr();
printf("PENJUALAN MOBIL BEKAS\n\n");
printf("Kota :%s\n\n\t",kota);
for(i=0; i<13; i++)
printf("%s ",bulan[i]);
for(i =0; i<3; i++)
printf("\n %s",merek[i]);
}

void isi_data(int jual[4][13][9])
{
char kota [4][11] = {"Jakarta","Surabaya","Medan","Semua Kota"};
int i_k, i_m, i_b;
//indeks kota,merek,bulan//

for(i_k =0; i_k<3;i_k++)//kota
{
judul(kota[i_k]);
for(i_m=0; i_m<3; i_m++)//merek
{
for(i_b =0; i_b<12; i_b++)//bulan
{
gotoxy(10 + i_b *4, i_m +6);
scanf("%d",&jual[i_m][i_b] [i_k]);
jual[i_m][12][i_k] += jual[i_m] [i_b] [i_k];
//isi ke samping
jual[3][i_b][i_k] += jual [i_m] [i_b] [i_k];
//isi kebawah
jual[3][12][i_k] += jual[i_m][i_b][i_k];
//isi ke total
jual[i_m][i_b][8] +=jual[i_m][i_b][i_k];
//isi ke lapis ke-4
}
gotoxy(59,i_m+6);
printf("%d",jual[i_m][12][i_k]);
}
gotoxy(11,10);
for(i_b =0; i_b<13;i_b++)
printf("%d   ",jual[3][i_b][i_k]);
fflush(stdin);
getch();
}
}

void total_jual(int jual[4][13][9])
{
int i_m, i_b;
for(i_m =0; i_m<3; i_m++)
for(i_b =0; i_b<12; i_b++)
{
jual[i_m][12][9] += jual[i_m][i_b][9];
//tambah ke samping
jual[3][i_b][9] +=jual[i_m][i_b][9];
//tambah ke bawah
jual[3][12][9] +=jual[i_m][i_b][9];
//tambah ke grand total
}
judul("semua");
for(i_m =0; i_m<4; i_m++)
{
i_m == 3?gotoxy (11,i_m +7):gotoxy(11,i_m +6);
for(i_b=0; i_b<13; i_b++)
printf("%-4d ",jual[i_m][i_b][9]);
}
}


int main()
{
int jual[4][13][9] ={0};
//merek,bulan,kota
isi_data(jual);
total_jual(jual);
getch();                                               
return 0;

}

  • Output


  • Penjelasan
Program ini untuk menjumlahkan banyaknya unit mobil yang terjual dari setiap bulannya yang nantinya akan dijumlahkan diakhir proses jika semua hasil penjualan tiap bulannya sudah diinput kan, terdapat 3 kota dan saat semua data dari tiap - tiap kota sudah dijumlahkan maka program akan menjuulahkan hasil dari tiap - tiap kota. Program ini menggunakan array 3 dimensi dan multidimensi, dimana setiap kolom dan baris dapat dijumlahkan, yang jumlahnya menjadi dimensi ke 3 array tersebut. di script program terdapat syntax gotoxy, ia berfungsi untuk tata letak penginputan di sebelah mana baris dan kolom akan ditentukan

    • Praktikum 3
  • Studi Kasus
Dalam suatu kumpulan angka yang tidak beraturan kita diminta untuk mengurutkan dari mulai angka yang terkecil hingga yang terbesar, tipe data yang dapat menangani kasus ini yang efisien adalah tipe data array.
  • Script Program
#include<stdio.h>
#include<conio.h>
void bubblesort (int data[],int n)
{
int i, j=0, temp, flag=1;
while(flag)
{
flag =0;
for(i=0; i<n; i++)
{
if(data[i]>data[i+1])
{
temp = data[i];
data[i] = data[i+1];
data[i+1] =temp;
flag++;
}
}}}
main()
{
int data[1000];
int n,i;
printf("__________.::BUBBLE SORT:.__________\n");
printf("Masukan angka (maks 1000) : ");
scanf("%d",&n);
printf("Data (pisahkan angka dengan spasi) : ");
for(i=0; i<n; i++)
scanf("%d",&data[i]);
bubblesort(data,n);
printf("\nOutput after sort :\n");
for(i=0; i<n;i++)
printf("%d",data[i]);
getch();
return 0;
}
  • Output

  • Penjelasan
Program ini untuk mengurutkan nilai dari yang terkecil hingga terbesar, dimana kita harus inputkan jumlah data, dan setiap data kita inputkan nilai acak yang nantinya akan disusun mulai dari terkecil hingga terbesar. Untuk menyusun tersebut menggunakan fungsi for dimana nantinya fungsi for ini untuk melakukan pengulangan pada inputan sesuai banyak data. Lalu menggunakan fungsi if dan fungsi while untuk mengurutkan nilai, dimana jika pernyataan if terpenuhi maka syntax nya akan di eksekusi dan while bekerja sebagai pembatas hingga syarat if terpenuhi. Dan akan menghasilkan angka dari nilai yang telah di urutkan dari terkecil hingga terbesar.



LATIHAN


    • Latihan 1
  • Studi Kasus
Terdapat beberapa nilai masukan yang akan diolah semua nilai bertipe data integer dari semua nilai yang dimasukan terdapat nilai terbesar dan nilai terkecil, setiap data yang diinput disimpan dalam variabel array.

  • Script Program

#include<iostream>
#include<conio.h>
using namespace std;

int main()
{
int max, i, n, min;
float A[100];
cout<<"Masukan Jumlah Data : ";
cin>>n;
for(i=1; i<=n; i++)
{
cout<<"Masukan Bilangan Ke ["<<i<<"] : ";
cin>>A[i];
}
for(i=1; i<=n; i++)
{
if(i==1)
{
min = A[i];
max = A[i];
}
else if (min > A[i])
{
min = A [i];
}
else if(max < A[i])
{
max = A[i];
}
}
cout<<"Nilai Terbesar Adalah : "<<max<<endl;
cout<<"Nilai Terkecil Adalah : "<<min<<endl;
getch();
return 0;
}
  • Output

  • Penjelasan
Pada program ini menggunakan fungsi for yang berguna untuk mengulang nilai yang kita inputkan, dan ada fungsi if yang berguna untuk memilih nilai yang benar sesuai dengn kondisi if yang sudah ditentukan, lalu deretan angka yang diiputkan akan dilakukan seleksi menggunakan fungsi if hingga mendapatkan hasil nilai terkecil dan terbesar


POST TEST




Postingan terkait:

Belum ada tanggapan untuk "Laporan Praktikum Struktur Data Modul 4 Array Dalam Fungsi"

Posting Komentar