Anda di halaman 1dari 10

MODUL ALGORITMA PEMROGRAMAN II

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’);

Kode Program 8 pendeklarasian strchr


Kode Program 8 merupakan contoh pendeklarasian dari fungsi strchr. Pada
Kode Program 8, dapat dilihat terdapat variabel string dan karakter ‘Z’ yang
digunakan untuk melakukan eksekusi fungsi. Karakter tersebut juga dapat dimasukkan
ke dalam sebuah variabel terlebih dahulu maupun dapat dicari secara langsung.
1.6 Strstr
Kegunaan dari fungsi strstr adalah untuk mencari teks atau string di dalam
sebuah string. Output dari fungsi ini adalah string yang ingin dicari dari sebuah teks
atau string. Berikut contoh pendeklarasian strstr dengan bahasa pemrograman
C/C++.
strstr(variabel, "kata")

Kode Program 9 pendeklarasian strstr


Kode Program 9 merupakan contoh pendeklarasian dari fungsi strstr. Pada
Kode Program 9, dapat dilihat terdapat variabel variabel dan string "kata", fungsi
tersebut akan mencari kata dalam variabel yang bernama variabel.

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

Kode Program 10 Algoritma Bubble Sort


Algoritma diatas merupakan contoh algoritma pengurutan bilangan dengan
metode gelembung atau bubble sort. Pengurutan bilangan dilakukan dari bilangan
terkecil ke bilangan terbesar atau secara ascending.
Pengurutan bilangan dengan metode bubble sort merupakan metode pengurutan
yang tidak efisien sebab banyaknya operasi pertukaran yang perlu dilakukan setiap
iterasinya. Untuk penukaran larik dengan jumlah yang besar, dibutuhkan waktu yang
lama. Oleh sebab itu, maka metode ini jarang digunakan dalam praktek. Adapun
kelebihan dari metode ini adalah kesederhanaan prosesnya sehingga lebih mudah
dipahami dan dipelajari.

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”.

//Input: An array A of n elements and a search key K


//Output: The index of the first element in A[0..n−1] whose value
is
// equal to K or−1if no such element is found
A[n]←K
i ←0
while A[i]=K
do i ←i +1
if i<n
return i
else
return−1

Kode Program 11 Algoritma Sequential Search


Algoritma diatas merupakan contoh pengulangan yang digunakan dalam metode
pencarian data menggunakan metode sequential search dimana data yang dicari akan
dimulai dari 0 hingga jumlah banyakdata.

“Programming is thinking, not typing” – Casey Patton

Anda mungkin juga menyukai