Tutorial Program Sequential Search dengan Bahasa C

TUTORIAL PROGRAM SEQUENTIAL SEARCH

Pembahasan Program
Sequential Search disebut juga sebagai metode pencarian urut adalah metode pencarian yang paling mudah. Bayangkan saja jika anda dihadapkan pada sebuah rak buku, dan anda diberi tugas untuk mencari sebuah buku dari rak tersebut. Sudah tentu anda akan mulai mencarinya satu – persatu entah itu dari atas atau dari bawah sampai buku yang dimaksud ketemu.
Singkatnya sequential search memiliki proses sebagai berikut:
·         Tentukan banyaknya data yang akan di olah, missal banyak data adalah N.
·         Tentukan data apa yang akan dicari, missal data yang akan dicari adalah C.
·         Deklarasikan sebuah counter untuk menghitung banyak data yang ditemukan, missal counternya adalah K.
·         Inisialisasikan K = 0
·         Lakukanlah perulangan sebanyak N kali
·         Dalam tiap proses perulangan tersebut periksalah apakah data yang sedang diolah sama dengan data yang dicari.
·         Jika ternyata sama K=K+1
·         Jika tidak, lanjutkan proses perulangan .
·         Setelah proses perulangan berhenti, periksalah nilai K.
·         Jika nilai K lebih dari 0, artinya data yang dicari ada dalam data /array dan tampilkan nilai K ke layer sebagai jumlah data yang ditemukan.
·         Jika nilai K=0, artinya data yang dicari tidak ditemukan dalam data / array dan tampilkan ke layar bahwa data tidak ditemukan
·         Proses selesai.

Listing Program
#include<stdio.h>

int main() {
// Deklarasi variabel yang digunakan
int A[10], index[10], i, j, k;

// Proses penginputan data ke dalam array
for(i=0;i<10;i++) {
printf("Data ke- %d:",i+1);
scanf("%d", &A[i]);
}

// Memasukkan data yang akan dicari
printf("Masukkan Data yang anda cari : ");
scanf("%d",&k);

// Proses Pencarian data
j=0;
for(i=0;i<10;i++) {
if(A[i]==k) {
index[j]=i;
j++;
}
}

// Jika data ditemukan dalam array
if(j>0) {
printf("Data %d yang dicari ada %d buah\n", k, j);
printf("Data tersebut terdapat dalam index ke : ");
for(i=0;i<j;i++) {
printf("%d ", index[i]+1);
}
printf("\n");
}

// Jika data tidak ditemukan dalam array
else {
printf("Data tidak ditemukan dalam array\n");
}
return 0;
}

Output Program jika Data ditemukan



Output Program jika Data tidak ditemukan




Gambaran Kerja Program
Pada program diatas jumlah data yang akan diolah berjumlah 10 data dan disimpan kedalam array A[10] yang bejenis integer, array index[10] digunakan untuk mencatat index pada array A dimana data ditemukan daya tampung array sama dengan array A karena ada kemungkinan data yang akan dicari adalah semua data yang ada dalam array A. sedangkan variable I digunakan sebagai counter dalam proses perulangan, variable j digunakan sebagai counter untuk menghitung jumlah data yang ditemukan dan variable k digunakan untuk menyimpan data yang akan dicari.
Proses pertama adalah memasukkan data-data yang akan diolah ke dalam array A dan data yang akan dicari ke dalam variable K. setelah itu akan dilakukan perulangan sebanyak data yang ada dalam array A untuk mencari apakah ada data dalam variable K didalam array A, jika ada maka counter j akan mencatat jumlahnya dan array index akan mencatat pada index ke berapa data tersebut ditemukan. Setelah proses perulangan selesai, tampilkanlah hasil yang terdapat pada variable j dan array index ke layar.

Input dan Output pada C++

Cin
Dalam C++, perintah cin digunakan untuk menginput suatu nilai dari suatu piranti masukan (keyboard) untuk selanjutnya diproses oleh program.
Sintaknya adalah:
            cin >> variabel;
contohnya:
            cout << “Masukkan suatu bilangan : ”;
     cin >> bil;
     cout << “Anda memasukkan bilangan “ << bil “\n”;

getch()
Perintah getch() berfungsi sama seperti cin (perintah input), akan tetapi getch() khusus untuk input berupa karakter. Disamping itu getch() dapat membaca input berupa spasi atau tab, sedangkan cin tidak bisa.
Sintaksnya:
            Variabel = getch();
Fungsi ini juga dapat digunakan apabila tidak diinginkan penekanan ENTER ketika input data karakter.

getche()
Perintah getche() kegunaannya sama dengan getch(), bedanya adalah:
- getch() tidak menampilkan karakter yang diiinput
- getche() menampilkan karakter yang diinput
fungsi getch() dan getche() sama-sama membutuhkan file header conio.h.
Berikut ini contoh penggunaan getch() dan getche() :
            char karakter;
     cout << “masukkan sebuah karakter : “;
     karakter = getch();
     cout << “Anda mengetik karakter : ” << karakter;
     cout << “masukkan sebuah karakter : “;
     karakter = getche();
     cout << “Anda mengetik karakter : ” << karakter;

cout
Dalam c++, perintah cout digunakan untuk menampilkan suatu informasi ke
piranti output (layar). Contoh-contoh penggunaannya telah banyak diberikan di
bab-bab sebelumnya. Berikut ini perintah-perintah tambahan untuk mengatur
tampilan output.
- endl
            Perintah ini berfungsi sama dengan \n (ganti baris)
            Contoh:
                        cout << “Hallo” << endl;
- setw()
            Perintah ini digunakan untuk mengatur lebar tampilan data (rata kanan).
            Contoh:
                        A = 123;
          B = 98;
          C = 1;
          cout << “Nilai A = “ << setw(6) << A << endl;
          cout << “Nilai B = “ << setw(6) << B << endl;
          cout << “Nilai C = “ << setw(6) << C << endl;
            Bandingkan bila tanpa menggunakan setw().
- setfill()
            Perintah setfill digunakan untuk menambahkan suatu karakter tertentu pada field yang kosong pada suatu data. Perhatikan contoh berikut ini
                        A = 123;
          B = 98;
          cout<<“Nilai A = “<< setw(6) << setfill(‘*’) << A << endl;
          cout<<“Nilai B = “<< setw(6) << setfill(‘.’) << B << endl;

     Perintah setfill() biasanya digunakan setelah penggunaan setw().

Operator dan Statement pada Bahasa Pemrograman

Pengantar Operator
Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi, misalnya untuk:
- menjumlahkan dua nilai
- memberikan nilai ke suatu variabel (assignment)
- membandingkan kesamaan dua nilai.

Operator Aritmatika
Operator ini digunakan untuk perhitungan dasar aritmatika. Operator ini antara lain :
Operator
Keterangan
Contoh
*
Perkalian
2*3
/
Pembagian
7/2
%
Modulo
7%2
+
Penjumlahan
5+4
-
Pengurangan
5-4

Tingkat Presedensi Operator Aritmatika
Operator yang mempunyai prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan dengan operator yang memiliki prioritas lebih rendah. Berikut ini tingkat presedensi operator aritmatika (semakin ke bawah prioritas makin rendah):
- (operator unary negatif)
* / %
+ -

Assignment
Assignment merupakan proses pemberian nilai pada suatu variabel. Berikut ini contoh-contohnya:
a = 1;
a = 2 + b;
a = 2 + (b = 1);
Contoh no. 3 di atas prosesnya adalah mula-mula b diberi nilai 1, kemudian variabel a diisi dengan nilai penjumlahan 2 dan 1.
a = b = c = d = e = 1;
Contoh tersebut identik dengan:
e = 1;
d = e;
c = d;
b = c;
a = b;

Operator Increment dan Decrement
Bahasa C++ menyediakan operator yang disebut increment dan decrement. Operator ini digunakan untuk menaikkan atau menurunkan nilai suatu variabel sebesar 1.
Operator
Keterangan
++
Operator increment
--
Operator decrement

Penempatan operator tersebut dapat di awal variabel atau di belakangnya.
Contoh:
            x = x + 1;
     y = y – 1;
dapat ditulis
            ++x;
     --y;
atau
            x++;
     y--;
Secara sekilas tak ada perbedaan antara ++x dan x++ atau --y dan y—
Perhatikan contoh berikut ini:
            r = 10;
     s = 10 + r++;
     cout << “Nilai r = ”<< r << “\n”;
     cout << “Nilai s = ”<< s << “\n”;
bandingkan dengan
            r = 10;
     s = 10 + ++r;
     cout << “Nilai r = ”<< r << “\n”;
     cout << “Nilai s = ”<< s << “\n”;

Operator Majemuk
C++ menyediakan operator yang dimaksudkan untuk memendekkan penulisan operasi assignment, misalnya:
            x = x + 2;
     y = y * 4;
     z = z / 5;
     w = w – 8;
dapat ditulis
            x += 2;
     y *= 4;
     z /= 5;
     w -= 8;

Operator Relasional
Operator ini digunakan untuk membandingkan dua buah nilai. Berikut ini macam-macam operator yang termasuk jenis ini.
Operator
Keterangan
==
Sama dengan (bukan assignment)
!=
Tidak sama dengan
> 
Lebih besar
< 
Lebih kecil
>=
Lebih besar atau sama dengan
<=
Lebih kecil atau sama dengan

Hasil operasi relasi ini dihasilkan nilai benar atau salah.
Contoh:
            nilai1 = 3 > 2;
     nilai2 = 15 == 16;
     cout << “Nilai1 = ”<< nilai1 << “\n”;
     cout << “Nilai2 = ”<< nilai2 << “\n”;
Hasil program di atas akan menampilkan nilai1 adalah 1 (benar) dan nilai2 adalah 0 (salah).

Operator Logika
Operator ini digunakan untuk menghubungkan 2 atau lebih statement. Biasanya statement yang dihubungkan merupakan operasi relasional. Operator logika juga menghasilkan nilai logika benar atau salah. Macam-macamnya adalah:
Operator
Keterangan
&&
AND
||
OR
!
NOT (negasi)

Contoh:
            nilai1 = (3 > 2) && (4 < 10);
     nilai2 = !(15 == 15);
     cout << “Nilai1 = ”<< nilai1 << “\n”;
     cout << “Nilai2 = ”<< nilai2 << “\n”;
Setelah di run, dihasilkan nilai1 adalah 1 (benar) dan nilai2 adalah 0 (salah)

Fungsi-fungsi Matematika
C++ menyediakan beberapa fungsi khusus untuk perhitungan matematika. Fungsi-fungsi ini memerlukan file header math.h
Fungsi
Keterangan
abs(x)
Mencari nilai mutlak
cos(x), sin(x), tan(x)
Mencari nilai cos, sin, tan (x dalam radian)
exp(x)
Mencari nilai e^x
log(x)
Mencari nilai log
pow(x,y)
Mencari nilai x^y
sqrt(x)
Mencari nilai akar kuadrat dari x

Variabel pada Bahasa Pemrograman C/C++


VARIABEL
Variabel adalah sebuah identifier  yang mempunyai nilai dinamis. Arti kata “dinamis” disini bermaksud bahwa nilai variabel tersebut dapat kita ubah sesuai kebutuhan dalam program. Berikut ini adalah bentuk umum pendeklarasian sebuah variabel dalam C++.

Tipe_data nama_variabel;

Contoh :
 int A;

Pada contoh diatas, kita mendeklarasikan sebuah variabel bertipe int dengan nama A. Melalui cara seperti ini, variabel tersebut sudah dapat digunakan untuk menampung nilai nilai berupa bilangan bulat.

Apabila kita akan mendeklarasikan beberapa variabel yang bertipe sama, maka kita dapat menyingkat penulisannya dengan menggunakan bentuk umum dibawah ini.

Tipe_data nama_variabel1, nama_variabel2, nama_variabel3;

Contoh :
 int A, B, C;


Kali ini, kita mendeklarasikan tiga buah variabel bertipe int, yaitu A, B, dan C.

INISIALISASI VARIABEL
Dalam konteks ini, inisialisasi dapat didefinisikan sebagai proses pengisian nilai awal/default ke dalam suatu variabel. Dalam C++, pengisian nilai dilakukan dengan menggunakan operator assignment (=).

Bentuk umum yang digunakan untuk melakukan inisialisasi variabel adalah sebagai berikut :

tipe_data nama_variabel = nilai_awal;
atau
tipe_data nama_variabel1 = nilai_awal1, nama_variabel2 = nilai_awal2, …;

Contoh :
 int A = 9;

Pada contoh diatas, kita melakukan inisialisasi terhadap variabel A dengan nilai 9. Apabila kita ingin melakukan inisialisasi terhadap lebih dari satu variabel. Maka sintaksnya dapat diubah menjadi seperti berikut :

 int A=10, B=15, C=25;

Dengan cara seperti ini, variabel A diisi nilai awal 10, B diisi nilai awal 15, dan C dengan nilai 25. Inisialisasi nilai tidak harus dilakukan untuk semua variabel yang ada, seperti yang ditunjukan oleh kode berikut :

 int A, B=15, C;

Kali ini hanya variabel B yang diisi nilai awal.
Untuk lebih memahami konsep inisialisasi variabel, coba anda perhatikan terlebih dahulu contoh program dibawah ini.


Hasil yang diberikan program diatas adalah sebagai berikut :
 Nilai X sebelum assignment : 0
 Nilai X setelah assignment : 10

Pada hasil diatas tampak bahwa apabila kita tidak melakukan inisialisasi dan kita sudah memanggil variabel tersebut, maka nilai yang akan ditampilkan adalah nilai 0. Brikut ini contoh program yang sudah ditambahkan proses inisialisasi terhadap variabel X.


Kali ini, hasil yang diberikan oleh program di atas adalah sebagai berikut :
 Nilai X sebelum assignment : 5
 Nilai X setelah assignment : 10