Operasi String
Operasi string selalu dijumpai
didalam bahasa pemrograman, dikarenakan
hampir semua bahasa pemrograman
menggunakan manual inputnya adalah string,
terutama pada pemrograman
visualisasi. Pada bab ini akan dibahasa beberapa
perintah dan fungsi string.
Fungsi Manipulasi String
Borland C++ menyediakan beberapa
fungsi yang digunakan untuk keperluan
menipulasi string, diantaranya:
a. Fungsi
strcat( )
Fungsi ini digunakan untuk
menambahkan string sumber kebagian akhir dari
string tujuan. File header yang
harus disertakan adalah string.h dan ctype.h
Bentuk Penulisan :
Contoh-
#include <string.h>
#include <string.h>
#include <ctype.h>
#include <iostream.h>
main()
{
char a1[20];
char a2[20];
clrscr();
cout<<"Masukkan Kata -
1= ";
cin>>a1;
cout<<"Masukkan Kata -
2= ";
cin>>a2;
strcat(a1, a2);
cout<<"Hasil
Penggabungannya "<<a1;
getch();
}
Output yang akan dihasilkan, dari
program contoh-16 diatas adalah:
b. Fungsi
strcmp( )
Fungsi ini digunakan untuk
membandingkan string pertama dengan string
kedua. Hasil dari fungsi ini
bertipe data integer (int). File header yang harus
disertakan adalah string.h
Bentuk Penulisan :
Contoh-
#include <string.h>
#include <string.h>
#include <iostream.h>
#include <conio.h>
main( )
{
char a1[ ] = "BSI";
char a2[ ] = "Bsi";
char b1[ ] = "BSI";
clrscr( );
cout<<"Hasil
Perbandingan "<<a1<<" dan
"<<a2<<"->";
cout<<strcmp(a1,a2)<<endl;
cout<<"Hasil
Perbandingan "<<a2<<" dan
"<<a2<<"->";
cout<<strcmp(a2,a1)
<<endl;
cout<<"Hasil
Perbandingan "<<a1<<" dan
"<<b1<<"->";
cout<<strcmp(a1,b1)
<<endl;
getch( );
c. Fungsi
strcpy( )
Fungsi ini digunakan untuk
menyalin string asal ke-variabel string tujuan,
dengan syarat string tujuan harus
mempunyai tipe data dan dan ukuran yang sama
dengan string asal. File header
yang harus disertakan adalah string.h.
Bentuk Penulisan :
var_int =
strcmp(str1, str2);
strcpy(tujuan,
asal);
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char huruf[20];
char pindah[20];
clrscr( );
cout<<"Masukkan
Sembarang Kata = ";
gets(huruf);
/* Proses */
strcpy(pindah, huruf);
cout<<"Pemindahannya =
"<<pindah;
getch( );
}
Output yang akan dihasilkan, dari
program contoh-diatas adalah:
d. Fungsi
strlen( )
Fungsi ini digunakan untuk
memperoleh banyaknya karakter dalam string.
File header yang harus disertakan
adalah string.h
Bentuk Penulisan :
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char huruf[20];
char pindah[20];
clrscr( );
strlen(str);
cout<<"Masukkan
Sembarang Kata = ";
gets(huruf);
cout<<"Panjang Kata
Yang Diinputkan = ";
cout<<strlen(huruf);
getch( );
}
Output yang akan dihasilkan, dari
program contoh diatas adalah:
e. Fungsi
strrev( )
Fungsi ini digunakan untuk
membalik letak urutan pada string. String urutan
paling akhir dipindahkan keurutan
paling depan dan seterusnya. File header yang
harus disertakan adalah string.h
Bentuk Penulisan :
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char kata[20];
clrscr();
cout<<"Masukan
Sembarang Kata = ";
gets(kata);
strrev(kata);
cout<<"Hasil Perubahan
= "<<kata;
getch( );
}
Output yang akan dihasilkan, dari
program contoh diatas adalah:
Fungsi
Konversi String
Borland C++ 5.02 menyediakan
beberapa fungsi yang digunakan untuk
keperluan konfersi string.
a. Fungsi atof(
)
Fungsi ini digunakan untuk
mengubah string (teks) angka menjadi bilangan
numerik float. File header yang
harus disertakan adalah math.h
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
main( )
{
char kata[20];
float angka, a, b;
clrscr( );
cout<<"Masukan
Sembarang Kata berupa angka = ";
gets(kata);
angka = atof(kata);
a = angka + 5; cout<<"Hasil
Perubahan ditambah dengan 5 = "<<a;
getch( );
}
Output yang akan dihasilkan, dari
program contoh diatas adalah:
b. Fungsi atoi(
)
Fungsi ini digunakan untuk
mengubah string (teks) angka menjadi bilangan
numerik integer. File header yang
harus disertakan adalah stdlib.h
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
main( )
{
char kata[20];
float angka, a, b;
clrscr( );
cout<<"Masukan
Sembarang Kata berupa angka = ";
gets(kata);
angka = atoi(kata);
a = angka + 5;
cout<<"Hasil Perubahan
ditambah dengan 2500 = "<<a;
getch( );
}
Output yang akan dihasilkan, dari
program contoh diatas adalah :
c. Fungsi atol(
)
Fungsi ini digunakan untuk
mengubah string (teks) angka menjadi bilangan
numerik long integer. File header
yang harus disertakan adalah stdlib.h
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
main( )
{
char kata[20];
float angka, a, b;
clrscr( );
cout<<"Masukan Sembarang
Kata berupa angka = ";
gets(kata);
angka = atol(kata);
a = angka + 2500;
cout<<"Hasil Perubahan
ditambah dengan 2500 = "<<a;
getch( );
}
Output yang akan dihasilkan, dari
program contoh diatas adalah:
d. Fungsi
strlwr( )
Fungsi ini digunakan untuk
mengubah setiap huruf kapital ( huruf besar )
dalam string menjadi huruf kecil.
File header yang harus disertakan adalah string.h
Bentuk Penulisan :
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char kata[20];
clrscr( );
cout<<"Masukan
Sembarang Kata dengan Huruf Besar =";
gets(kata);
strlwr(kata);
cout<<"Hasil Perubahan
= "<<kata;
getch( );
}
Output yang akan dihasilkan, dari
program contoh diatas adalah:
e. Fungsi
strupr( )
Fungsi ini digunakan untuk
mengubah setiap huruf kecil dalam string
menjadi huruf kapital ( huruf
besar ). File header yang harus disertakan adalah
string.h
Bentuk Penulisan :
Contoh-
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char kata[20];
clrscr( );
cout<<”Masukkan Sembarang
Kata dengan Huruf Besar: ”;
gets(kata);
strupr(kata);
cout<<”Hasil Perubahan :
”<<kata<<endl;
getch( );
}
Pernyataan
IF
Pernyataan if mempunyai
pengertian, “ Jika kondisi bernilai benar, maka
perintah
akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”.
Dari pengertian
tersebut dapat dilihat dari diagram alir berikut:
salah
benar
Gambar . Diagram Alir IF
Bentuk umum dari
pernyataan if
Penulisan kondisi
berada di dalam tanda kurung kurawal jika pemakaian if diikuti
dengan pernyataan
majemuk, bentuk penulisannya sebagai berikut :
kondisi perintah
if (kondisi)
pernyataan;
if (kondisi)
{
pernyataan;
……
}
Contoh
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
float x,y;
clrscr( );
cout<<"
Masukkan Nilai Positif atau Negatif "<<endl;
cout<<"
Nilai X : ";cin>>x;
cout<<"
Nilai Y : ";cin>>y;
if ((x >= 0 )
&& (y>=0))
cout<<"X
dan Y Bernilai POSITIF "<<endl;
getch( );
}
Output yang akan
dihasilkan, dari program contoh diatas adalah:
Pernyataan IF - ELSE
Pernyataan if mempunyai
pengertian, “Jika kondisi bernilai benar, maka
perintah-1
akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan
perintah-2”.
Dari pengertian tersebut dapat dilihat dari diagram alir berikut:
Gambar
Diagram Alir if-else
Diagram Alir if-else
Bentuk umum dari
pernyataan if -else
Salah
Benar
kondisii
Perintah-1 Perintah-2
if (kondisi)
perintah-1;
else
perintah-2;
Perintah-1 dan
perintah-2 dapat berupa sebuah pernyataan tunggal, pernyataan
majemuk atau
pernyataan kosong. Jika pemakaian if-else diikuti dengan pernyataan
majemuk, bentuk
penulisannya sebagai berikut :
Contoh
Menentukan besarnya
diskon dan bonus dari jumlah beli, dengan kriteria :
- jika jumlah beli
> 15 maka diskon 5% dan bonusnya : payung
- selain itu tidak
dapat diskon dan bonus
contoh-
#include <stdio.h>
#include <stdio.h>
#include
<conio.h>
#include
<iostream.h>
main( )
{
float jumbel,hrg;
char bonus[15];
float diskon;
clrscr( );
puts("");
cout<<"
Harga Barang : " ; cin>> hrg;
cout << " Jumlah
belinya : "; cin>> jumbel;
if(jumbel>=15)
{ diskon = 0.15 * hrg
;
strcpy(bonus,
"PAYUNG");
}
else
{ diskon =0 ;
strcpy(bonus,
"Tidak Dapat");
}
cout<<"\n----------------------------"<<endl;
cout<<"
Diskonnya : "<<diskon<<endl;
cout<<"
Bonusnya : "<<bonus<<endl;
getch();
}
if (kondisi)
{
perintah-1;
...
}
else
{
perintah-2;
...
}
Output yang akan
dihasilkan, dari program contoh diatas adalah :
Pernyataan NESTED IF
Nested if merupakan
pernyataan if berada didalam pernyataan if yang
lainnya. Bentuk
penulisan pernyataan Nested if adalah :
Contoh
Suatu perusahaan
menjual pakaian dengan ketentuan sebagai berikut:
· Jika
kode baju=1 maka Merk Baju = H&R, dengan ukuran baju=S,maka
harganya 45000, Jika
ukuran baju=M, maka harganya 60000, selain itu
harganya = 0.
· Jika
kode baju=2 maka Merk Baju = Adidas, dengan ukuran baju=S, maka
harganya 65000, Jika
ukuran Baju=M, maka harganya 75000, selain itu
harganya = 0.
· Selain
kode baju diatas, maka salah kode
Contoh
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
char
kode,ukuran,merk[15];
long harga=0;
if(syarat)
{
if(syarat)
…
perintah;
else
…
perintah;
}
else
{
if(syarat)
…
perintah;
else
…
perintah;
}
clrscr( );
cout<<"Kode
Baju : ";cin>>kode;
cout<<"Ukuran
: ";cin>>ukuran;
if (kode = ='1')
{
strcpy(merk,"H
& R");
if (ukuran= ='S' ||
ukuran = ='s')
harga=45000;
else if (ukuran= ='M'
|| ukuran = ='m')
harga=60000;
else
harga = 0;
}
else if (kode=='2')
{
strcpy(merk,"
Adidas");
if (ukuran=='S' ||
ukuran == 's')
harga=65000;
else if (ukuran= ='M'
|| ukuran = ='m')
harga=75000;
else
harga = 0;
}
else
cout<<”Salah
Kode Baju”<<endl;
cout<<"------------------------"<<endl;
cout<<"Merk
Baju : "<<merk<<endl;
cout<<"Harga
Baju : "<<harga<<endl;
getch();
}
Pernyataan IF – ELSE Majemuk
Bentuk dari if-else
bertingkat sebenarnya serupa dengan nested if, keuntungan
penggunaan if-else
bertingkat dibanding dengan nested if adalah penggunaan bentuk
penulisan yang lebih
sederhana.
Bentuk Umum
Penulisannya:
Contoh
Suatu perusahaan
memberikan komisi kepada para selesman dengan ketentuan
sebagai berikut:
· Bila
salesman dapat menjual barang hingga Rp. 200.000 ,- , akan diberikan
uang jasa sebesar Rp.
10.000 ditambah dengan uang komisi Rp. 10% dari
pendapatan yang
diperoleh hari itu.
· Bila
salesman dapat menjual barang diatas Rp. 200.000 ,- , akan diberikan
uang jasa sebesar Rp.
20.000 ditambah dengan uang komisi Rp. 15% dari
pendapatan yang
diperoleh hari itu.
· Bila
salesman dapat menjual barang diatas Rp. 500.000 ,- , akan diberikan
uang jasa sebesar Rp.
30.000 ditambah dengan uang komisi Rp. 20% dari
pendapatan yang
diperoleh hari itu.
Contoh-
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
float pendapatan,
jasa=0, komisi=0, total=0;
clrscr( );
cout<<"Pendapatan
Hari ini Rp. ";
cin>>pendapatan;
if (syarat)
{
…
perintah;
…
perintah;
}
else
if (syarat)
{
…
perintah;
…
perintah;
}
else
{
…
perintah;
…
perintah;
}
if (pendapatan >=
0 && pendapatan <= 200000)
{
jasa=10000;
komisi=0.1*pendapatan;
}
else
if(pendaptan<=500000)
{
jasa=20000;
komisi=0.15*pendapatan;
}
else
{
jasa=30000;
komisi=0.2*pendapatan;
}
/* menghitung total
*/
total = komisi+jasa;
cout<<"Uang
Jasa Rp. "<<jasa<<endl;
cout<<"Uang
Komisi Rp. "<<komisi<<endl;
cout<<"============================="<<endl;
cout<<"Hasil
Total Rp. "<<total<<endl;
getch( );
}
Pernyataan switch - case
Bentuk dari switch
- case merupakan pernyataan yang dirancangan khusus
untuk menangani
pengambilan keputusan yang melibatkan sejumlah atau banyak
alternatif
penyelesaian. Pernyataan switch - case ini memiliki kegunaan sama
seperti
if – else bertingkat,
tetapi penggunaannya untuk memeriksa data yang bertipe
karakter
atau integer. Bentuk penulisan perintah ini sebagai
berikut:
Setiap pilihan akan
dijalankan jika syarat nilai konstanta tersebut dipenuhi
dan default akan
dijalankan jika semua cabang diatasnya tidak terpenuhi.
Pernyataan break menunjukan
bahwa perintah siap keluar dari switch. Jika
pernyataan ini tidak
ada, maka program akan diteruskan ke pilihan-pilihan yang
lainnya.
Contoh-
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int kode;
clrscr( );
cout<<"Masukkan
Kode Jurusan [11/12/13] : ";
cin>>kode;
switch(kode)
{
case 11 :
cout<<"Komputerisasi
Akuntansi";
break;
case 12 :
cout<<"Manajemen
Informatika";
break;
switch
(ekspresi integer atau karakter )
{
case
konstanta-1 :
…
perintah;
…
perintah;
break;
case
konstanta-2 :
…
perintah;
…
perintah;
break;
default
:
…
perintah;
…
perintah;
}
case 13 :
cout<<"Tehnik
Komputer";
break;
default:
cout<<"Anda
Salah Memasukan kode";
break;
}
getch( );
}
Contoh-
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
char kode;
clrscr( );
cout<<"Masukkan
Kode Barang [A..C] : ";
cin>>kode;
switch(kode)
{
case 'A' :
case 'a' :
cout<<"Alat
Olah Raga";
break;
case 'B' :
case 'b' :
cout<<"Alat
Elelktronik";
break;
case 'C' :
case 'c' :
cout<<"Alat
Masak";
break;
default:
cout<<"Anda
Salah Memasukan kode";
break;
}
getch( );
0 komentar:
Posting Komentar