• Tidak ada hasil yang ditemukan

DIKTAT MATA KULIAH PEMROGRAMAN I BAB X STRING & MATH

N/A
N/A
Protected

Academic year: 2021

Membagikan "DIKTAT MATA KULIAH PEMROGRAMAN I BAB X STRING & MATH"

Copied!
17
0
0

Teks penuh

(1)

by Eko Budi Setiawan, S.Kom Halaman - 1

DIKTAT MATA KULIAH PEMROGRAMAN I

IF

BAB X

STRING & MATH

Dasar Teori

String merupakan bentuk data yang biasa dipakai dalam bahasa pemrograman keperluan

menampung dan memanipulasi data teks. Misalnya untuk menampung (menyimpan) suatu

kalimat. Pada bahasa pemrograman C/C++, string bukanlah sebagai tipe data tersendiri,

melainkan hanya jenis khusus dari array. String ditulis dengan diawali dan diakhiri tanda petik

ganda dan nilai string selalu diakhiri dengan tanda NULL (\0).

Konstanta “ABCDE” disimpan dalam memory secara berurutan, dengan komposisi sebagai

berikut :

Setiap karakter akan menempati memory sebesar 1 byte. Byte terakhir secara otomatis akan

berisi karakter NULL (\0).

Deklarasi String

Untuk mendeklarasikan string, dapat menggunakan konsep array atau pointer. Bentuk

deklarasi nya adalah sebagai berikut :

char nama_variabel[jumlah+1];

atau

char *nama_variabel;

Jika menggunakan konsep array dalam pendeklarasian string (menggunakan cara yang pertama),

maka jumlah karakter yang dapat ditampung dalam nama_variabel adalah sebanyak jumlah,

karena karakter yang terakhir (+1) akan digunakan untuk menyimpan karakter Null. Sedangkan

(2)

by Eko Budi Setiawan, S.Kom Halaman - 2

jika menggunakan konsep yang kedua, maka deklarasi string tersebut menggunakan konsep

pointer, dimana akan menunjuk alamat tempat menyimpan string.

Contoh :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 /* Program 10-1

Nama File : Program 10-1.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h> #include <conio2.h>

int main(int argc, char *argv[]) {

char nama[20];

char *alamat="Jl.Dipatiukur No.102-116 Bandung"; char telp[14]; printf("Nama : ");fflush(stdin);gets(nama); strcpy(telp,"08123456789"); printf("---\n"); gotoxy(17,3);printf("O u t p u t \n"); printf("---\n"); printf("Nama : %s\n",nama); printf("Alamat : %s\n",alamat); printf("Telp : %s\n",telp); printf("\n"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /* Program 10-1

Nama File : Program 10-1.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> #include <conio2.h> using namespace std;

int main(int argc, char *argv[]) {

char nama[20];

char *alamat="Jl.Dipatiukur No.102-116 Bandung"; char telp[14];

(3)

by Eko Budi Setiawan, S.Kom Halaman - 3 18 19 20 21 22 23 24 25 26 27 28 29 cout<<"Nama : ";fflush(stdin);gets(nama); strcpy(telp,"08123456789"); cout<<"---\n"; gotoxy(17,3);cout<<"O u t p u t "<<endl; cout<<"---\n"; cout<<"Nama : "<<nama<<endl; cout<<"Alamat : "<<alamat<<endl; cout<<"Telp : "<<telp<<endl; cout<<"\n"; system("PAUSE"); return EXIT_SUCCESS; }

Gambar 10.1 Tampilan Program 10-1

Fungsi strlen

Fungsi strlen digunakan untuk mengetahui panjang suatu string atau untuk menghitung

jumlah dari karakter.

Contoh :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 /* Program 10-2

Nama File : Program 10-2.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

char string[50]; int panjang;

printf("Masukan String: ");fflush(stdin);gets(string); panjang=strlen(string);

(4)

by Eko Budi Setiawan, S.Kom Halaman - 4 15

16 17 18

printf("Panjang String adalah %i karakter \n \n",panjang); system("PAUSE"); return 0; }

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /* Program 10-2

Nama File : Program 10-2.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> using namespace std;

int main(int argc, char *argv[]) {

char string[50]; int panjang;

cout<<"Masukan String: ";fflush(stdin);cin.get(string,49); panjang=strlen(string);

cout<<"Panjang String adalah "<<panjang<<" karakter"<<endl<<endl; system("PAUSE");

return EXIT_SUCCESS; }

Gambar 10.2 Tampilan Program 10-2

Fungsi strcpy dan strncpy

Fungsi strcpy

: untuk menyalin isi suatu string ke string lain

Fungsi strncpy

: untuk menyalin isi suatu string ke string lain sebanyak n karakter

1 2 3 4 /* Program 10-3

Nama File : Program 10-3.c Programmer : Eko Budi Setiawan

(5)

by Eko Budi Setiawan, S.Kom Halaman - 5 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 */ #include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

char string[31];

char str1[31] = "Universitas Komputer Indonesia"; char str2[31];

strcpy(string, str1);

printf("Isi String 1 : %s\n", string); strncpy(str2,str1,15); str2[15]='\0';// menutup string printf("Isi String 2 : %s",str2); printf("\n \n"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 /* Program 10-3

Nama File : Program 10-3.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> using namespace std;

int main(int argc, char *argv[]) {

char string[31];

char str1[31] = "Universitas Komputer Indonesia"; char str2[31];

strcpy(string, str1);

cout<<"Isi String 1 : "<<string<<endl; strncpy(str2,str1,15); str2[15]='\0';// menutup string cout<<"Isi String 2 : "<<str2; cout<<"\n \n"; system("PAUSE"); return EXIT_SUCCESS; }

(6)

by Eko Budi Setiawan, S.Kom Halaman - 6

Gambar 10.3 Tampilan Program 10-3

Fungsi strcmp dan strncmp

Fungsi strcmp

: untuk membandingkan 2 buah string secara case sensitive

Fungsi strncmp : untuk membandingkan 2 buah string sebanyak n buah karakter secara

case sensitive

Fungsi strcmpi

: untuk membandingkan 2 buah string secara insensitive

Fungsi strnicmp : untuk membandingkan 2 buah string sebanyak n buah karakter secara

Insensitive

Semua fungsi tersebut akan menghasilkan sebuah nilai integer yang mempunyai ketentuan :

- Nilai return akan lebih dari 0 (>0) ketika string1 lebih besar dari string2

- Nilai terurn akan sama dengan 0 (==0) ketika string1 sama dengan string2

- Nilai return akan kurang dari 0 (<0) ketika string1 lebih kecil dari string2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /* Program 10-4

Nama File : Program 10-4.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) { char str1[5]="ABCD",str2[5]="abcd",str3[5]="BCDE",str4[5]="BCda"; int hasil; hasil=strcmp(str1,str2); printf("Hasil STRCMP : \n");

if(hasil==0) printf("String1 sama dengan String2\n"); else if(hasil>0) printf("String1 lebih besar dari String2\n"); else

(7)

by Eko Budi Setiawan, S.Kom Halaman - 7 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

if(hasil<0) printf("String1 lebih kecil dari String2\n");

hasil=strcmpi(str1,str2); printf("\nHasil STRCMPI : \n");

if(hasil==0) printf("String1 sama dengan String2\n"); else if(hasil>0) printf("String1 lebih besar dari String2\n"); else if(hasil<0) printf("String1 lebih kecil dari String2\n");

hasil=strncmp(str3,str4,3); printf("\nHasil STRNCMP : \n");

if(hasil==0) printf("String3 sama dengan String4\n"); else if(hasil>0) printf("String3 lebih besar dari String4\n"); else if(hasil<0) printf("String3 lebih kecil dari String4\n");

hasil=strnicmp(str3,str4,3); printf("\nHasil STRNCMPI : \n");

if(hasil==0) printf("String3 sama dengan String4\n"); else if(hasil>0) printf("String3 lebih besar dari String4\n"); else if(hasil<0) printf("String3 lebih kecil dari String4\n"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /* Program 10-4

Nama File : Program 10-4.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> using namespace std;

int main(int argc, char *argv[]) {

char str1[5]="ABCD",str2[5]="abcd",str3[5]="BCDE",str4[5]="BCda"; int hasil;

hasil=strcmp(str1,str2); cout<<"Hasil STRCMP : \n";

if(hasil==0) cout<<"String1 sama dengan String2 \n"; else if(hasil>0) cout<<"String1 lebih besar dari String2\n"; else if(hasil<0) cout<<"String1 lebih kecil dari String2\n";

hasil=strcmpi(str1,str2); cout<<"\nHasil STRCMPI : \n";

if(hasil==0) cout<<"String1 sama dengan String2\n"; else if(hasil>0) cout<<"String1 lebih besar dari String2\n"; else if(hasil<0) cout<<"String1 lebih kecil dari String2\n";

(8)

by Eko Budi Setiawan, S.Kom Halaman - 8 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 hasil=strncmp(str3,str4,3); cout<<"\nHasil STRNCMP : \n";

if(hasil==0) cout<<"String3 sama dengan String4\n"; else if(hasil>0) cout<<"String3 lebih besar dari String4\n"; else if(hasil<0) cout<<"String3 lebih kecil dari String4\n";

hasil=strnicmp(str3,str4,3); cout<<"\nHasil STRNCMPI : \n";

if(hasil==0) cout<<"String3 sama dengan String4\n"; else if(hasil>0) cout<<"String3 lebih besar dari String4\n"; else if(hasil<0) cout<<"String3 lebih kecil dari String4\n\n"; system("PAUSE");

return EXIT_SUCCESS; }

Gambar 10.4 Tampilan Gambar 10-4

Fungsi strcat dan strncat

Fungsi strcat

:

untuk menggabungkan 2 buah string

Fungsi strncat

:

untuk menggabungkan 2 buah string sebanyak n karakter

1 2 3 4 5 6 7 8 9 10 11 12 /* Program 10-5

Nama File : Program 10-5.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

char str1[80];

(9)

by Eko Budi Setiawan, S.Kom Halaman - 9 13 14 15 16 17 18 19 20 21 22 23

char str3[20]="Komputer Indonesia"; strcpy(str1,str2);

strcat(str1,str3);

printf("Hasil penggabungan dengan STRCAT : %s\n",str1); strcpy(str1,str2);

strncat(str1,str3,4);

printf("\nHasil penggabungan dengan STRNCAT : %s\n",str1); printf("\n"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 /* Program 10-5

Nama File : Program 10-5.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> using namespace std;

int main(int argc, char *argv[]) {

char str1[80];

char str2[15]="Universitas ";

char str3[20]="Komputer Indonesia"; strcpy(str1,str2);

strcat(str1,str3);

cout<<"Hasil penggabungan dengan STRCAT : "<<str1<<endl; strcpy(str1,str2);

strncat(str1,str3,4);

cout<<"\nHasil penggabungan dengan STRNCAT : "<<str1<<endl; cout<<"\n";

system("PAUSE"); return EXIT_SUCCESS; }

(10)

by Eko Budi Setiawan, S.Kom Halaman - 10

Fungsi strlwr dan strupr

Fungsi strlwr

:

untuk mengubah isi string menjadi huruf kecil

Fungsi strupr

:

untuk mengubah isi string menjadi kapital

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* Program 10-6

Nama File : Program 10-6.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h> #include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

char str1[80]="Universitas Komputer Indonesia"; printf("Normal : %s\n\n",str1); strupr(str1); printf("UpperCase : %s\n\n",str1); strlwr(str1); printf("LowerCase : %s\n\n",str1); printf("\n"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /* Program 10-6

Nama File : Program 10-6.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> using namespace std;

int main(int argc, char *argv[]) {

char str1[80]="Universitas Komputer Indonesia"; cout<<"Normal : "<<str1<<endl<<endl;

strupr(str1);

cout<<"UpperCase : "<<str1<<endl<<endl; strlwr(str1);

(11)

by Eko Budi Setiawan, S.Kom Halaman - 11 19 20 21 22 cout<<"LowerCase : "<<str1<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

Gambar 10.6 Tampilan Program 10-6

Fungsi strrev

Fungsi strrev berguna untuk membalikan urutan string

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /* Program 10-7

Nama File : Program 10-7.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

char str1[80]="Universitas Komputer Indonesia"; printf("Normal : %s\n\n",str1); strrev(str1); printf("Reverse : %s\n\n",str1); system("PAUSE"); return 0; } 1 2 3 4 5 6 /* Program 10-7

Nama File : Program 10-7.c Programmer : Eko Budi Setiawan */

(12)

by Eko Budi Setiawan, S.Kom Halaman - 12 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include <cstdlib> #include <iostream> using namespace std;

int main(int argc, char *argv[]) {

char str1[80]="Universitas Komputer Indonesia"; cout<<"Normal : "<<str1<<endl<<endl; strrev(str1); cout<<"Reverse : "<<str1<<endl<<endl; cout<<"\n"; system("PAUSE"); return EXIT_SUCCESS; }

Gambar 10.7 Tampilan Program 10-7

Fungsi strset dan strnset

Fungsi strset

:

untuk mengganti isi suatu string dengan suatu karakter tertentu

Fungsi strnset

:

untuk mengganti isi suatu string dengan suatu karakter tertentu

sebanyak n buah data.

1 2 3 4 5 6 7 8 9 10 11 12 13 /* Program 10-8

Nama File : Program 10-8.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

char str1[]="Aku ingin begini Aku ingin begitu.."; strnset(str1,'A',3);

(13)

by Eko Budi Setiawan, S.Kom Halaman - 13 14 15 16 17 18 19 printf("Setelah strnset 3 : %s\n\n",str1); strset(str1,'i'); printf("Setelah strset : %s\n \n",str1); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* Program 10-8

Nama File : Program 10-8.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> using namespace std;

int main(int argc, char *argv[]) {

char str1[]="Aku ingin begini Aku ingin begitu.."; strnset(str1,'A',3);

cout<<"Setelah strnset 3 : "<<str1<<endl<<endl; strset(str1,'i');

cout<<"Setelah strset : "<<str1<<endl<<endl; system("PAUSE");

return EXIT_SUCCESS; }

(14)

by Eko Budi Setiawan, S.Kom Halaman - 14

String didalam Fungsi

String juga dapat digunakan kedalam Fungsi baik itu sebagai nilai balik. Sebagai contoh

adalah kasus tentang Kode KA dan Nama KA berikut :

1. Jika Kode KA = KA01, maka Nama KA = Argo Bromo Anggrek

2. Jika Kode KA = KA05, maka Nama KA = Argo Wilis

3. Jika Kode KA = KA72, maka Nama KA = Lodaya

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 /* Program 10-9

Nama File : Program 10-9.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h>

char *Nama_KA(char Kode_KA[]) {

if(strcmp(Kode_KA,"KA01")==0) return "Argo Bromo Anggrek"; else

if(strcmp(Kode_KA,"KA05")==0) return "Argo Wilis";

else

if(strcmp(Kode_KA,"KA72")==0) return "Lodaya";

else

return "Tidak ada Kereta"; }

int main(int argc, char *argv[]) {

char Kode_KA[6]; char *Nama_Kereta;

printf("Inputkan Kode KA : ");fflush(stdin);gets(Kode_KA); strupr(Kode_KA); Nama_Kereta=Nama_KA(Kode_KA); printf("Nama KA : %s\n\n",Nama_Kereta); system("PAUSE"); return 0; }

(15)

by Eko Budi Setiawan, S.Kom Halaman - 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 /* Program 10-9

Nama File : Program 10-9.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> using namespace std;

char *Nama_KA(char Kode_KA[]) {

if(strcmp(Kode_KA,"KA01")==0) return "Argo Bromo Anggrek"; else

if(strcmp(Kode_KA,"KA05")==0) return "Argo Wilis";

else

if(strcmp(Kode_KA,"KA72")==0) return "Lodaya";

else

return "Tidak ada Kereta"; }

int main(int argc, char *argv[]) {

char Kode_KA[6]; char *Nama_Kereta;

cout<<"Inputkan Kode KA : ";fflush(stdin);gets(Kode_KA); strupr(Kode_KA); Nama_Kereta=Nama_KA(Kode_KA); cout<<"Nama KA : "<<Nama_Kereta<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

(16)

by Eko Budi Setiawan, S.Kom Halaman - 16

Fungsi Matematika

Dibawah ini akan diberikan beberapa fungsi dasar penggunakan fungsi matematika yang

sering digunakan. Fungsi math ini menggunakan pustaka dari “math.h”.

 sqrt

sqrt digunakan untuk menghitung akar dari suatu bilangan

 pow

digunakan untuk menghitung pangkat

 log(10)

digunakan untuk menghitung hasil logaritma

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 /* Program 10-10

Nama File : Program 10-10.c Programmer : Eko Budi Setiawan */

#include <stdio.h> #include <stdlib.h> #include <math.h>

int main(int argc, char *argv[]) { float h_sin,h_cos,h_tan; int sudut=30; int x,y,angka; float akar,pangkat,log; x=3; y=4; angka=15; h_sin=sin(sudut*M_PI/180); h_cos=cos(sudut*M_PI/180); h_tan=tan(sudut*M_PI/180); akar=sqrt(y); pangkat=pow(x,y); log=log10(angka);

printf("Sin %i adalah = %.3f",sudut,h_sin); printf("\nCos %i adalah = %.3f",sudut,h_cos); printf("\nTan %i adalah = %.3f",sudut,h_tan); printf("\n");

printf("\nAkar dari %i adalah = %g",y,akar); printf("\n%i pangkat %i adalah = %g",x,y,pangkat); printf("\nLog dari %i adalah = %g",angka,log); printf("\n\n");

system("PAUSE"); return 0;

(17)

by Eko Budi Setiawan, S.Kom Halaman - 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 /* Program 10-10

Nama File : Program 10-10.cpp Programmer : Eko Budi Setiawan */

#include <cstdlib> #include <iostream> #include <math.h> using namespace std;

int main(int argc, char *argv[]) { float h_sin,h_cos,h_tan; int sudut=30; int x,y,angka; float akar,pangkat,log; x=3; y=4; angka=15; h_sin=sin(sudut*M_PI/180); h_cos=cos(sudut*M_PI/180); h_tan=tan(sudut*M_PI/180); akar=sqrt(y); pangkat=pow(x,y); log=log10(angka);

cout<<"Sin "<<sudut<<" adalah = "<<h_sin; cout<<"\nCos "<<sudut<<" adalah = "<<h_cos; cout<<"\nTan "<<sudut<<" adalah = "<<h_tan; cout<<"\n";

cout<<"\nAkar dari "<<y<<" adalah = "<<akar;

cout<<"\n"<<x<<" pangkat "<<y<<" adalah = "<<pangkat; cout<<"\nLog dari "<<angka<<" adalah = "<<log; cout<<"\n\n";

system("PAUSE"); return EXIT_SUCCESS; }

Gambar

Gambar 10.1 Tampilan Program 10-1
Gambar 10.2 Tampilan Program 10-2
Gambar 10.3 Tampilan Program 10-3
Gambar 10.4 Tampilan Gambar 10-4
+7

Referensi

Dokumen terkait

Mengetahui hubungan antara kebiasaan berada di luar rumah pada malam hari dengan kejadian malaria diwilayah kerja Puskesmas Tarusan tahun 2011.. Mengetahui hubungan

Guru dan peserta didik pada akhir proses pembelajaran melakukan refleksi terhadap aktivitas dan hasil tugas projek. Proses refleksi pada tugas projek dapat dilakukan secara

[r]

Dengan persepsi yang demikian ini, dimungkinkan mahasiswa menjadi bersemangat dalam berlatih, dan tampil penuh, sehingga pada akhir program penelitian (akhir siklus

Perbedaan persentase penyembuhan luka didasarkan pada luka hewan uji perlakuan diberikan salep ekstrak etanol Suruhan (Peperomia pellucida) yang mengandung zat fitokimia yaitu

Prosedur ini bertujuan untuk memastikan kemudahan pembelajaran yang disediakan sentiasa dalam keadaan baik untuk digunakan dan penambahbaikan kualiti sistem

Manfaat penelitian ini adalah untuk mengetahui ciri – ciri anak autis sehingga orang tua dapat mengetahui gejala anak autis sejak dini dan dapat merancang media edukasi

Sosial Campaign dirancang dengan tujuan utama untuk membantu penyebaran informasi, edukasi, dan sosialisasi mengenai shopaholic dan bagaiman cara tetap bisa berbelanja