#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