Operasi string dan kondisi if

39
OPERASI STRING DAN KONDISI IF

Transcript of Operasi string dan kondisi if

Page 1: Operasi string dan kondisi if

OPERASI STRING DAN KONDISI IF

Page 2: Operasi string dan kondisi if

STRING

String merupakan bentuk data yang biasa dipakai dalam bahasa

pemrograman untuk keperluan menampung dan memanipulasi data

teks, misalnya untuk menampung (menyimpan) suatu kalimat.

String digunakan untuk menampilkan pesan atau memberikan

informasi pada layar. String dapat berupa konstanta maupun variable.

Suatu variable string dapat juga diberi nilai awal.

Contoh :

char huruf[]=”ABCDE”;

char nama[20];

Page 3: Operasi string dan kondisi if

Konstanta String

Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda,

misalnya: “ABCDE”

Nilai string ini disimpan dalam memori secara berurutan dengan komposisi sebagai

berikut:

• Setiap karakter akan menempati memori sebesar 1 byte.

• Byte terakhir otomatis akan berisi karakter NULL (\0), dengan demikian maka akhir

dari nilai suatu string akan dapat dideteksi.

• Sebagai sebuah array of char, karakter pertama dari nilai stringmempunyai indeks

ke 0, karakter kedua mempunyai indeks ke 1, dan seterusnya.

Page 4: Operasi string dan kondisi if

Variabel String

Variabel string adalah variabel yang dipakai untuk menyimpan nilai

string. Misalnya :

char nama[20]

Merupakan instruksi untuk mendeklarasikan variabel string dengan

panjang maksimal 20 karakter (termasuk karakter NULL).

Deklarasi tersebut sebenarnya tidak lain merupakan deklarasi array

bertipe char.

Page 5: Operasi string dan kondisi if

INISIALISASI STRING Suatu variabel string dapat diinisialisasi seperti halnya array yang lain

(dalam kurung kurawal dipisahkan koma). Namun tentu saja elemen

terakhirnya haruslah berupa karakter NULL. Sebagai contoh :

char name[] = {„S','I',„T', 'I',‟\0‟};

yang menyatakan bahwa nama adalah variabel string dengan nilai

awal berupa string : “SITI”.

• Bentuk inisialisasi yang lebih singkat :

char name[] = “SITI”;

Pada bentuk ini, karakter NULL tidak perlu ditulis. Secara IMPLISIT

akan disisipkan oleh kompiler.

Page 6: Operasi string dan kondisi if

MEMASUKKAN DATA STRING

Pemasukan data string ke dalam suatu variabel biasa dilakukan

dengan cin.

Bentuk umum pemakaiannya adalah sebagai berikut :

Cin hanya bisa membaca sebuah kata

Untuk mengatasinya agar cin dapat membaca

lebih dari 1 buah kata adalah dengan get() pada

object cin dengan cara

cin.get(teks,13);

atau

cin.get(teks,sizeof(teks));

Perlu diketahui, fungsi get() akan membaca

seluruh karakter yang diketik melalui keyboard

sampai tombol ENTER

Page 7: Operasi string dan kondisi if

Builtin Functions untuk manipulasi string

• Untuk manipulasi string, C++ telah menyediakan beberapa fungsi

standar yang ada pada string.h

• Beberapa yang akan dibahas kali ini adalah

-Fungsi strcpy() –Fungsi strlen()

–Fungsi strcat() –Fungsi strrcmp()

–Fungsi strlwr() –Fungsi strupr()

-Fungsi strstr() –Fungsi strrev()

Page 8: Operasi string dan kondisi if

Fungsi strcpy()

•Bentuk pemakaian :

#include <string.h>

strcpy(tujuan, asal);

•Fungsi ini dipakai untuk mengcopy string asal ke variabel string tujuan termasuk

karakter '\0'.

•Dalam hal ini, variabel tujuan haruslah mempunyai ukuran yang dapat digunakan

untuk menampung seluruh karakter dari string asal.

Page 9: Operasi string dan kondisi if

Contoh Program

Page 10: Operasi string dan kondisi if

Fungsi strlen()

•Bentuk pemakaian :

#include <string.h>

strlen(var_string);

•Fungsi ini digunakan untuk memperoleh banyaknya

karakter di dalam string yang menjadi argumennya

(var_string).

•Keluaran dari fungsi ini adalah panjang dari

var_string(karakter NULL tidak ikut dihitung)

Page 11: Operasi string dan kondisi if

Fungsi strcat()

Menggabungkan dua buah string di akhir string yang lain

Bentuk pemakaian :

#include <string.h>

Strcat(st1,st2);

Page 12: Operasi string dan kondisi if

Fungsi strcmp() (case sensitive)

• Membandingkan dua nilai string juga tidak dapat digunakan

dengan operator hubungan, karena operator tersebut tidak untuk

operasi string.

• Membandingkan dua buah nilai string secara case sensitive

dapat dilakukan dengan fungsi strcmp().

• Contoh bentuk pemakaian fungsi :

#include <string.h>

strcmp(str1, str2);

Page 13: Operasi string dan kondisi if

• Fungsi ini dipakai untuk membandingkan string str1 dengan

string str2. Keluaran dari fungsi ini bertipe int yang berupa

nilai :

– nilai negative, jika str1 < str2

– nilai 0, jika str1 == str2

– nilai positif, jika str1 > str2

• Pembandingan dilakukan untuk karakter pada posisi yang

sama dari str1 dan str2, dimulai dari karakter terkiri yang

didasarkan oleh nilai ASCIInya.Misal, karakter „A‟ lebih kecil

daripada „B‟dan karakter „B lebih kecil daripada „C‟.

Page 14: Operasi string dan kondisi if

Contoh Program

Page 15: Operasi string dan kondisi if

Fungsi strlwr()Mengubah huruf kapital menjadi huruf kecil

Bentuk pemakaian :

#include <string.h>

Strlwr(st);

Fungsi strupr()Mengubah huruf kecil menjadi huruf kapital

Bentuk pemakaian :

#include <string.h>

Strupr(st);

Page 16: Operasi string dan kondisi if

Fungsi strstr()

Berguna untuk mencari suatu karakter dalam suatu string

untuk mencari suatu substring

Bentuk pemakaian :

#include <string.h>

Strstr();

Page 17: Operasi string dan kondisi if

Output

Hasil diatas menunjukkan bahwa fungsi strstr() memberikan nilai balik benar kalau substring argumen kedua terdapat pada string argumen pertama.

Page 18: Operasi string dan kondisi if

Fungsi strrev()Berguna untuk membalikkan kata pada stringBentuk pemakaian : strrev ();

Output :

Page 19: Operasi string dan kondisi if

String Sebagai parameter Fungsi

String sebagai parameter fungsi pada dasarnya sama

dengan array sebagai parameter fungsi

Sebagai contoh :

Page 20: Operasi string dan kondisi if
Page 21: Operasi string dan kondisi if

Outputnya :

Page 22: Operasi string dan kondisi if

Operasi Penyeleksian Kondisi

Pernyataan Percabangan digunakan untukmemecahkan persoalan untuk mengambil suatukeputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan keputusan, Borland C++ menyediakan beberapa perintah antara lain

Pernyataan IF

Pernyataan if mempunyai pengertian, “ Jika kondisi bernilaibenar, maka perintah akan dikerjakan dan jika tidakmemenuhi syarat maka akan diabaikan”. Dari pengertiantersebut dapat dilihat dari diagram alir berikut:

Page 23: Operasi string dan kondisi if
Page 24: Operasi string dan kondisi if

Penulisan kondisi harus didalam tanda kurung danberupa ekspresi relasi dan penulisan pernyataan dapatberupa sebuah pernyataan tunggal, pernyataan majemukatau pernyataan kosong. Jika pemakaian if diikutidengan pernyataan majemuk, bentuk penulisannyasebagai berikut :

If (kondisi)

{

Pernyataan;

………….

}

Page 25: Operasi string dan kondisi if

Contoh

Menentukan besarnya potongan dari pembelian barang yang diberikan seorang pembeli, dengan kriteria : - Tidak adapotongan jika total pembelian kurang dari Rp. 50.000,- - Jikatotal pembelian lebih dari atau sama dengan Rp. 50.000,-potongan yang diterima sebesar 20% dari total pembelian.

Page 26: Operasi string dan kondisi if

#include<stdio.h> #include<conio.h> #include<iostream.h> main() { double tot_beli, potongan=0, jum_bayar=0; clrscr(); cout<<"Total Pembelian Rp. "; cin>>tot_beli; if (tot_beli >= 50000) potongan = 0.2 * tot_beli; cout>>"Besarnya Potongan Rp. "<<potongan<<endl; jum_bayar = tot_beli - potongan; cout>>"Jumlah yang harus dibayarkan Rp. ",jum_bayar; getch(); }

Page 27: Operasi string dan kondisi if

Pernyataan IF – ELSE

Pernyataan if mempunyai pengertian, “ Jika kondisi bernilaibenar, maka perintah-1 akan dikerjakan dan jika tidakmemenuhi syarat maka akan mengerjakan perintah-2”. Dari pengertian tersebut dapat dilihat dari diagram alir berikut

Page 28: Operasi string dan kondisi if
Page 29: Operasi string dan kondisi if

Perintah-1 dan perintah-2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Jika pemakaian if-else diikuti dengan pernyataan majemuk, bentuk penulisannyasebagai berikut :

If (kondisi){

Pernyataan;………….

}else{

Pernyataan;………….

}

Page 30: Operasi string dan kondisi if

Contoh

Menentukan besarnya potongan dari pembelian barang yang diberikan seorang pembeli, dengan kriteria : - jika total pembelian kurang dari Rp. 50.000,- potongan yang diterimasebesar 5% dari total pembelian. - Jika total pembelian lebihdari atau sama dengan Rp. 50.000,- potongan yang diterimasebesar 20% dari total pembelian.

Page 31: Operasi string dan kondisi if

#include<stdio.h> #include<conio.h> #include<iostream> main() { double tot_beli, potongan=0, jum_bayar=0; clrscr(); cout<<"Total Pembelian Rp. "; cin>>tot_beli; if (tot_beli >= 50000) potongan = 0.2 * tot_beli; else potongan = 0.05 * tot_beli; cout>>"Besarnya Potongan Rp. "<<potongan<<endl; jum_bayar = tot_beli - potongan; cout>>"Jumlah yang harus dibayarkan Rp. ",jum_bayar; getch(); }

Page 32: Operasi string dan kondisi if

Pernyataan NESTED IF

Nested if merupakan pernyataan if berada didalampernyataan if yang lainnya. Bentuk penulisan pernyataanNested if adalah : if(syarat) if(syarat)

… perintah; else

… perintah; else if(syarat)

… perintah; else

… perintah;

Page 33: Operasi string dan kondisi if

Contoh

Suatu perusahaan memberikan komisi kepada para selesmandengan ketentuan sebagai berikut:

Bila salesman dapat menjual barang hingga Rp. 20.000 ,- , akandiberikan uang jasa sebesar Rp. 10.000 ditambah dengan uangkomisi Rp. 10% dari pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang diatas Rp. 20.000 ,- , akandiberikan uang jasa sebesar Rp. 20.000 ditambah dengan uangkomisi Rp. 15% dari pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang diatas Rp. 50.000 ,- , akandiberikan uang jasa sebesar Rp. 30.000 ditambah dengan uangkomisi Rp. 20% dari pendapatan yang diperoleh hari itu.

Page 34: Operasi string dan kondisi if

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

main() {

float pendptan, jasa=0, komisi=0, total=0;

clrscr();

cout>>"Pendapatan Hari ini Rp. ";

cin<pendptan;

if (pendptan >= 0 && pendptan <= 200000)

{

jasa=10000;

komisi=0.1*pendptan;

} else

{

Page 35: Operasi string dan kondisi if

if(pendptan<=500000) {

jasa=20000; komisi=0.15*pendptan;

} else {

jasa=30000; komisi=0.2*pendptan;

} } /* 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(); }

Page 36: Operasi string dan kondisi if

Pernyataan IF – ELSE Majemuk

Bentuk dari if-else bertingkat sebenarnya serupa dengan nested if, keuntungan penggunanan if-else bertingkat dibanding dengan nested if adalah penggunaan bentuk penulisan yang lebihsederhana.

Bentuk Penulisannyaif (syarat) {

… perintah; … perintah;

} else if (syarat) {

… perintah; … perintah;

} else {

… perintah; … perintah;

}

Page 37: Operasi string dan kondisi if

Suatu perusahaan memberikan komisi kepada paraselesman dengan ketentuan sebagai berikut: Bila salesman dapat menjual barang hingga Rp. 200.000 ,- ,

akan diberikan uang jasa sebesar Rp. 10.000 ditambah denganuang 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 ditambahdengan uang komisi Rp. 15% dari pendapatan yang diperolehhari itu.

Bila salesman dapat menjual barang diatas Rp. 500.000 ,- , akan diberikan uang jasa sebesar Rp. 30.000 ditambahdengan uang komisi Rp. 20% dari pendapatan yang diperolehhari itu.

Page 38: Operasi string dan kondisi if

#include<stdio.h> #include<conio.h> #include<iostream.h> main() { float pendptan, jasa=0, komisi=0, total=0; clrscr(); cout>>"Pendapatan Hari ini Rp. "; cin<pendptan; if (pendptan >= 0 && pendptan <= 200000) { jasa=10000;

Page 39: Operasi string dan kondisi if

komisi=0.1*pendptan; } else if(pendptan<=500000) {

jasa=20000; komisi=0.15*pendptan;

} else {

jasa=30000; komisi=0.2*pendptan;

} /* 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();}