1. String
String dalam bahasa pemrograman C adalah array bertipe karakter (char). Untuk
menampilkan string yang terdapat dalam sebuah array, karakter format yangdigunakan
adalah "%s". Ketika ingin menginstruksikan komputer untuk menampilkan value
bertipe string, komputer akan memeriksa satu per satu elemen array, lalu
menampilkannya ke layar monitor. Komputer akan berhenti memeriksa elemen array
yang selanjutnya jika menemukan null character atau “\0”.
#include <stdio.h>
void main(){
char nama[20];
nama[0]='B';
nama[1]='u';
nama[2]='i';
nama[3]='l';
nama[4]='d';
nama[5]=' ';
nama[6]='I';
nama[7]='T';
nama[8]='\0';
printf("%s\n",nama);
/* output : Build IT */
nama[5]='\0';
printf("%s\n",nama);
/* output : Build ---- karena elemen 5 berisi null */
}
Kode Program 1 Contoh Deklarasi, Inisialisasi, dan Pemanggilan String dalam Bahasa C
Kode Program 1 merupakan salah satu contoh deklarasi, inisialisasi, dan
pemanggilan string dalam bahasa C. Contoh di atas menggunakan metode
menginputkan karakter demi karakter ke dalam sebuah variabel char dalam bentuk
array, sehingga jika digabungkan akan menjadi sebuah kata atau kalimat. Selain itu,
variabel bertipe string juga dapat dideklarasikan sekaligus juga dapat diinisialisasikan
dengan cara berikut ini.
char namaSaya[20]="Prihandana";
char namaDia[]="Rico";
char *namaNya="Eni";
char namaKu[]={'M','a','r','s','h','a','l','\0'};
Kode Program 2 Contoh Deklarasi dan Inisialisasi String dalam Bahasa C
Kode Program 2 merupakan contoh lain untuk melakukan deklarasi sekaligus
inisialisasi string dalam bahasa C. Pada contoh di atas, terdapat 4 cara berbeda dalam
melakukan deklarasi dan inisialisasi variabel bertipe string dalam bahasa pemrograman C.
Bahasa C menyediakan fungsi fgets dan fflush untuk mengisi variabel string dari
keyboard.
#include <string.h>
void main(){
char nama[25];
printf("Silakan masukkan nama anda : ");
fgets(nama,25,stdin);
fflush(stdin);
printf("Halo, %s.\n",nama);
}
Kode Program 3 Contoh Penggunaan fungsi fgets dan fflush dalam Bahasa C
Kode Program 3 merupakan contoh penggunaan fungsi fgets dan fflush dalam bahasa
pemrograman C. Variabel nama yang telah diinput oleh user melalui keyboard akan
ditampilkan menggunakan fungsi printf. Jika nama yang diketikkan lebih dari 25 karakter,
maka karakter ke-26 dan seterusnya akan diabaikan. Tetapi jika nama yang dimasukkan
kurang dari 25 karakter, maka string akan diakhiri dengan newline-character dan null-
character ("\n\0").
Terdapat beberapa fungsi yang dapat digunakan untuk memanipulasi suatu string
pada bahasa pemrograman C dan jika ingin menggunakan fungsi tersebut wajib untuk
mendeklarasikan header <string.h>. Berikut penjelasan mengenai fungsi manipulasi
string.
1.1 Strcpy
Dalam bahasa pemrograman C/C++ strpcpy merupakan salah satu fungsi yang
berguna untuk menyalin nilai berupa string ke variabel bertipe data string lainya.
Berikut ini contoh pendeklarasian fungsi strcpy.
strcpy(variabel_tujuan, "nilai_string");
Kode Program 4 pendeklarasian strcpy
Kode program 4 merupakan contoh pendeklarasian dari fungsi strcpy yang ada
dalam bahasa pemrograman C/C++, yang dimana harus ada variabel_tujuan untuk
diberikan nilai_string tersebut.
1.2 Strlen
Kegunaan dari fungsi strlen yakni untuk menghitung atau memperoleh jumlah
karakter dari suatu nilai string. Berikut ini contoh pendeklarasian strlen dengan
bahasa pemrograman C/C++.
strlen(variabel_string);
Kode Program 5 pendeklarasian strlen
Kode program 5 merupakan contoh pendeklarasian dari fungsi strlen dalam
bahasa pemrograman C/C++. Nilai dari variabel_string akan akan dihitung hingga
akan menghasilkan ouput dari panjang string tersebut.
1.3 Strcat
Dalam bahasa pemrograman C/C++ strcat merupakan salah satu fungsi string
yang digunakan untuk menggabungkan atau menambahkan nilai berupa string ke
variabel string. Berikut ini contoh pendeklarasian strlen dengan bahasa pemrograman
C/C++.
strcat(variabel_string, "nilai_string" );
strcat(variabel_string, "nilai_string2" );
Kode Program 6 pendeklarasi strcat
Kode program 6 merupakan contoh pendeklarasian fungsi strcat dengan
bahasa pemrograman C/C++. Sesuai dengan kegunaan dari fungsi strcat maka
variabel string tersebut akan memiliki nilai_string dan nilai_string2.
1.4 Strcmp
Untuk membandingkan dua buah string dalam bahasa pemrograman C/C++ tidak
dapat menggunakan operator pembanding (==), oleh karena itu kita dapat menggunakan
fungsi strcmp untuk membandingkan dua buah string. Jika hasil perbandingan string
pertama lebih kecil dari string kedua maka akan menghasilkan output -1, jika string
kedua yang lebih besar maka akan menghasilkan ouput 1, dan jika hasil
perbandingannya sama maka akan menghasilkan ouput 0. Berikut contoh
pendeklarasian strcmp dengan bahasa pemrograman C/C++.
strcmp(string_pertama, string_kedua);
Kode Program 7 pendeklarasian strcmp
Kode program 7 merupakan contoh pendeklarasian fungsi strcmp dengan
bahasa pemrograman C/C++. Nilai dari variabel_pertama akan dibandingkan dengan
nilai dari variabel_kedua.
1.5 Strchr
Kegunaan dari fungsi strchr adalah untuk mencari karakter di dalam sebuah
string. Output dari fungsi ini adalah karakter yang ingin dicari dari sebuah kalimat atau
apapun yang berada di dalam sebuah string. Berikut contoh pendeklarasian strchr
dengan bahasa pemrograman C/C++.
strchr (string, ‘Z’);
2. Algoritma Sorting
Pengurutan atau sorting adalah sebuah proses mengatur sekumpulan objek
menurut urutan dan susunan tertentu. Kumpulan objek atau elemen tersebut dapat
diurutkan secara ascending maupun descending. Data yang dapat diurutkan berupa
data bertipe dasar atau tipe terstruktur (record). Apabila data bertipe terstruktur, maka
harus dispesifikasikan berdasarkan field apa data tersebut harus diurutkan. Terdapat
bermacam-macam metode pengurutan atau sorting diantaranya.
2.1 Metode Pengurutan Gelembung (Bubble Sort)
Metode ini memiliki prinsip pengapungan. Apabila elemen ingin diurutkan
secara ascending maka elemen yang berharga paling kecil akan diangkat ke atas
(diapungkan) atau dibawa ke ujung kiri larik menggunakan proses pertukaran. Berikut
adalah contoh gambaran penggunaan metode pengurutan gelembung.
Tabel 2 Contoh Penggunaan Metode Bubble Sort Secara Ascending
Semula 25 27 10 8 76 21
Iterasi 1 8 25 27 10 21 76
Iterasi 2 8 10 25 27 21 76
Iterasi 3 8 10 21 25 27 76
Iterasi 4 8 10 21 25 27 76
Iterasi 5 8 10 21 25 27 76
Tabel 2 menggambarkan contoh penggunaan metode pengurutan Bubble Sort
secara ascending dimana terlebih dahulu dicari bilangan terkecil lalu diadakan
pergeseran bilangan yang lebih kecil ke sebelah kiri.
Procedure BubbleSort
(input/output L : Larikint, input N : integer)
{mengurutkan larik L[1..N] sehingga terurut menaik dengan metode
pengurutan gelembung} {k.awal : elemen larik L sudah terdefinisi
nilai-nilainya}
{k.akhir : elemen larik L terurut menaik sedemikian sehingga L[1]
≤ L[2] ≤ .. ≤ L[N]}
Deklarasi
I : integer {pencacah untuk jumlah langkah}
K : integer {pencacah untuk pengapungan pada setiap langkah}
Procedure Tukar
(input/output A : integer, input/output B : integer)
{mempertukarkan nilai A dan B}
Deskripsi
For I ← 1 to N – 1 do
For K ← N downto I + 1 do
If L[K] < L[K-1] then
{pertukarkan L[K] dengan L[K-1]} tukar(L[K], L[K-1])
endif
endfor
endfor
end
3. Algoritma Pencarian
Algoritma pencarian atau searching merupakan cara untuk menemukan sebuah
nilai atau data tertentu pada sekumpulan data yang bertipe sama, baik itu yang bertipe
dasar ataupun bertipe bentukan. Terdapat beberapa metode pencarian yang dikenal,
salah satunya adalah metode pencarian beruntun atau sequential search. Metode
pencarian beruntun atau sequential search adalah proses membandingkan setiap
elemen larik satu persatu secara beruntun, mulai dari elemen pertama sampai elemen
yang akan dicari berhasil ditemukan atau hingga seluruh elemen sudah diperiksa.
Adapun kelebihan dari metode ini adalah relatif lebih cepat dan efisien untukdata
yang terbatas (data yang kecil) serta algoritmanya yang sederhana. Kelemahan dari
metode pencarian ini adalah kurang efektif untuk data dalam jumlah yang besar serta
memiliki beban komputasi yang cenderung lebih besar. Penggambaran contoh
pencarian data dengan metode sequential search dapat dilihat,sebagai,berikut.
Gambar 3 Contoh Sequential Search
Gambar 3 merupakan contoh penggambaran sequential search untuk pencarian
elemen atau bilangan 10 dalam larik berindeks 5. Pencarian dilakukan secara beruntun
dari larik berindeks 0 sampai menemukan elemen yang dicari. Apabila elemen yang
dicari tidak ditemukan atau bernilai false setelah seluruh elemen dalam larik diperiksa,
maka akan diberi keluaran “Data tidak ditemukan”.