#include <stdio.h> 
int main (void) { 
       int
kumpul_angka[6], angka, n, info, Y=1;
       char
yesno[2]; 
       int
pencarian1 (int data[6],int dicari); 
       printf("Masukkan
6 angka sebarang: \n");
          
for (n=0;n<6;n++) { 
                     printf("Indeks ke-%d = \n", n);
                     scanf("%d", &kumpul_angka[n]); 
              } 
          
while(Y) { 
              printf("Masukan
angka yang posisinya ingin dicari> ");
              scanf("%d",
&angka); 
              info = pencarian1(kumpul_angka,
angka);
              if
(info==-1) printf("Angka %d tidak ada pada
array kumpul_angka\n", angka);
              else
printf("Angka %d yang pertama ada di array
kumpul_angka pada indeks ke- %d\n", angka, info); 
              printf("\nIngin
mencari angka yang lain? <y/n> "); 
              scanf("%s",&yesno[0]);
              if
(yesno[0]=='Y'||yesno[0]=='y') Y=1;
              else
if(yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y') Y=0; 
           
} 
 return(0); 
}
int pencarian1 (int data[6], int
dicari) { 
       int m=0,
indeks, ada=0; 
       while(m<5
&& !ada) { 
              if
(data[m]==dicari) {
                     ada=1; indeks=m; 
              } else
m++; 
       } 
       if
(ada==0) indeks=-1; 
       return
indeks; 
}
Penjelasan:
       int
kumpul_angka[6], angka, n, info, Y=1;
       char
yesno[2]; 
       int
pencarian1 (int data[6],int dicari); 
Deklarasi awal variabel dimana variabel n,info, Y bertype integer sedangkan fungsi pencarian1 dengan parameter variabel array data [6] dan dicari bertype integer.
Untuk memasukkan data inputan variabel m
digunakan baris perintah perulangan sebanyak jumlah masukan angkanya
       printf("Masukkan
6 angka sebarang: \n");
          
for (n=0;n<6;n++) { 
                     printf("Indeks ke-%d = \n", n);
                     scanf("%d", &kumpul_angka[n]); 
              } 
Sedangkan baris perintah while(Y) digunakan untuk perulangan masukkan angka yang
dicari selama kondisi bernilai y didalam perulangan tersebut terdapat baris
perintah 
              printf("Masukan
angka yang posisinya ingin dicari> ");
              scanf("%d",
&angka); 
yang berfungsi untuk masukan angka yang dicari.
Untuk mencari angka yang dicari apakah terdapat dalam variabel kumpul angka
maka digunakan fungsi pencarian info = pencarian1(kumpul_angka, angka); dimana fungsi tersebut berisikan baris perintah
    int pencarian1 (int
data[6], int dicari) { 
       int m=0,
indeks, ada=0; 
       while(m<5
&& !ada) { 
              if
(data[m]==dicari) {
                     ada=1; indeks=m; 
              } else
m++; 
       } 
       if
(ada==0) indeks=-1; 
       return
indeks; 
    }
Fungsi tersebut mempunyai parameter masukan
array data[6] dan dicari yang bertype integer didalamnya terdapat proses
pengecekan apakah inputan tersebut ada atau tidak ada. while(m<5
&& !ada) baris tersebut
digunakan untuk perulangan selama m bernilai kurang dari 5 dan ada bernilai 1.
Untuk mengecek apakah angka tersebut ada atau tidak menggunakan baris perintah 
if
(data[m]==dicari) jika nilai array
data[m] sama dengan variabel yang dicari maka variabel indeks sama dengan
perulangan m
untuk mengeset nilai awal variabel kembali
mengunakan pengecekan if (ada==0) jika ada indeks=-1
Untuk menampilkan hasil pencarian maka digunakan
pengecekan nilai kembalian dari fungsi pencarian1 dalam variabel info dimana
jika info=-1 maka angka tersebut tidak ditemukan jika tidak maka akan tampil
indeks dari angka yang ditemukan dengan baris perintah
if (info==-1)
printf("Angka %d tidak ada pada array
kumpul_angka\n", angka);
else printf("Angka %d yang pertama ada di array kumpul_angka
pada indeks ke- %d\n", angka, info); 
Untuk menampilkan inputan pencarian kembali
digunakan baris perintah
       printf("\nIngin
mencari angka yang lain? <y/n> "); 
       scanf("%s",&yesno[0]);
       if
(yesno[0]=='Y'||yesno[0]=='y') Y=1;
       else if(yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y') Y=0; 
Jika kita ketikkan karakter y/Y maka perulangan
akan dilakukan kembali jika diketikkan n/N maka berhenti mengulang dan program
berhenti
Untuk lebih jelasnya silahkan lihat video tutorial dibawah ini:
No comments:
Post a Comment