1 / 48

STRING

STRING. SASARAN. Menjelaskan tentang konsep string Menjelaskan operasi I/O pada string. Menjelaskan cara mengakses elemen string Menjelaskan berbagai fungsi mengenai string. KONSEP STRING. String dipakai untuk memanipulasi data teks .

deanne
Download Presentation

STRING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. STRING

  2. SASARAN • Menjelaskantentangkonsep string • Menjelaskan operasi I/O pada string. • Menjelaskancaramengakseselemen string • Menjelaskanberbagaifungsimengenaistring

  3. KONSEP STRING • String dipakaiuntukmemanipulasi data teks. • Konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda. Contoh: “Pemrograman C” memori rendah memori tingi Komposisi penyimpanan string dalam memori • Nilai string “selalu” diakhiridenganNULL (\0)

  4. KONSEP STRING • Deklarasi Variabel string char nama_var[n]; Variabel string dengan panjang maksimal n karakter (termasuk karakter NULL)bernamanama_var. • Inisialisasi String Contoh: char name[] = {'R','I','N','I',’\0’}; char name[] = “RINI”; Char name[10] = ”String”; Catatan:karakterakhir NULL wajibadadiakhir string. Bilamemakaipembatasanelemen array padainisialisasi, makajumlahkarakterharustidakmelebihielemen array.

  5. INPUT DATA STRING • Dengan fungsi gets() atau scanf() gets(nama_array); scanf(“%s”, nama_array); fgets(nama_array, sizeofnama_array, stdin); Keterangan : • nama_arrayadalahvariabelbertipearray of char • Kalau memakai scanf() dg format %stidakmembacawhite-space;untukmenggantikandptdipakai format %[^\n]. • Untukscanf(), didepannama_arraybolehdiberi & bolehtidak

  6. OUTPUT DATA STRING • Fungsi yang dapat digunakan adalah puts() atau printf(). puts(var_string); printf("%s",var_string); Keterangan: • var_stringadalah berupa array of char • puts() secara otomatis menambahkan karakter '\n' di akhir string

  7. CONTOH STRING #include <stdio.h> #include <conio.h> #define MAKS 256 int main() {int i, jumkar = 0; char teks[MAKS]; puts("Masukkan suatu kalimat (maks 255 karakter)."); //memasukkandr keyboard gets(teks); for(i=0; teks[i]; i++) jumkar++; printf("\nJumlah karakter = %d\n", jumkar); getch(); return(0); }

  8. PENGECEKKAN AKHIR STRING • Pemeriksaan terhadap teks[i] selama tidak berupa karakter NULL (dimulai dari indeks ke-0) dilakukan dengan instruksi: for(i=0; teks[i]; i++)jumkar++; Kondisi teks[i] pada for mempunyai makna secara implisit adalah: teks[i] != ‘\0’;

  9. CONTOH STRING #include <stdio.h> #define MAKS 30 int main() { int i; char keterangan[]= “Saya menyukai bahasa C”; char kalimat[MAKS]; i=0; while (keterangan[i] != ‘\0’) { kalimat[i] = keterangan[i]; i++; } kalimat[i] = ‘\0’; /* beri karakter NULL */ printf(“Isi kalimat : %s\n”, kalimat); return(0); } Penyederhanaan: i=0; while (kalimat[i] = keterangan[i]) i++;

  10. FUNGSI PUSTAKA STRING Fungsi pustaka untuk operasi string, prototypenya berada di file headerstring.h, diantaranya:

  11. FUNGSI PUSTAKA STRING • Fungsi memchr() Deklarasi: void *memchr(const void *str, int c, size_t n); Untukmencarikarakterpertamac (sebuahunsigned char) didalamnpertamadaristring yang ditunjukoleh parameter str. Mengembalikan pointer yang menunjukkekarakterpertama yang sesuai, atau NULL jikatidakditemukan. Contoh: char nama[] = “Maria Magdalena Tiahahu"; if( memchr(nama,‘T',strlen(nama)) == NULL ) printf( “Tidakditemukankarakter T\n" ); else printf( “Ditemukankarakter T\n" );

  12. FUNGSI PUSTAKA STRING • Fungsi memcmp(); Deklarasi: int memcmp(const void *str1, const void *str2, size_t n); Untuk membandingkan n byte pertama dari str1 dan str2. Tidak berhenti membandingkan walaupunsetelah karakter null.Mengembalikan nol jika n byte pertama str1 dan str2 sama. Mengembalikan negatif (<0)jika str1<str2 atau positip (>0) jika str1 >str2 pada n byte pertama. Contoh: int mc; char *str1="asdf"; char *str2="asdfasdf"; mc=memcmp(str1,str2,strlen(str1)<strlen(str2)?strlen(str1):strlen(str2)); if(!mc) printf("str1 sama-dengan str2"); else if(mc<0) printf("str1 lebihkecil str2"); else printf(" str1 lebihbesar str2");

  13. FUNGSI PUSTAKA STRING • Fungsi memcpy(); Deklarasi: void *memcpy(void *str1, const void *str2, size_t n); Untukmenyalin n karakterdari str2 ke str1. Jika str1 dan str2 tumpangtindihmakahasilnyamenjaditidakterdefinisikan. Contoh: char string2[]="test string"; char string1[80];memcpy (string1,string2,strlen(string2)+1);

  14. FUNGSI PUSTAKA STRING • Fungsi memmove(); Deklarasi: void *memmove(void *str1, const void *str2, size_t n); Untukmenyalin n karakter dari str2 ke str1. Jika str1 dan str2 tumpang tindih, pertama membaca str1secaralengkapdan kemudian ditulis kestr2 sehingga dapat disalin dengan benar. Contoh: char str[80]=“Test string";memmove (str+5,str,strlen(str)+1); printf("str: %s",str); Hasilnya: str: Test Test string

  15. FUNGSI PUSTAKA STRING • Fungsi memset(); Deklarasi: void *memset(void *str, int c, size_t n); Untukmenyalin karakter c (sebuah unsigned char) padan karakter pertama dari string yang ditunjuk oleh parameter str. Contoh: char str[80]="Test string"; memset (str,'A',5); printf("str: %s",str); Hasilnya: str: AAAAAstring

  16. FUNGSI PUSTAKA STRING • Fungsi strcat(); Deklarasi: char *strcat(char *str1, const char *str2); Untukmenambahkan string yang ditunjukolehstr2keakhirdari string yang ditunjukolehstr1. Karakter null daristr1akanditumpuki. Penyalinanberakhirsetelahkarakter null daristr2disalin. Jikaterjaditumpang-tindihmakahasilnyatidakterdefinisikan. Contoh: char str2[]="Test string"; char str1[80]="Contoh ", *pstr; pstr=strcat (str1,str2); printf("pstr: %s\nstr1: %s\n",pstr,str1);; Hasilnya: pstr: Contoh Test string str1: Contoh Test string

  17. FUNGSI PUSTAKA STRING • Fungsi strcat(); Deklarasi: char *strncat(char *str1, const char *str2, size_t n); Untukmenambahkan n karakterdari string yang ditunjukolehstr2keakhirdari string yang ditunjukolehstr1. Karakter null daristr1akanditumpuki. Penyalinanberakhirsetelah n karakterdisalinatausetelahkarakter null daristr2disalin.Sebuahkarakter null selaluditambahkanpadastr1.Jikaterjaditumpang-tindihmakahasilnyatidakterdefinisikan. Contoh: char str2[]="Test string"; char str1[80]="Contoh ", *pstr; pstr=strncat(str1, str2, 4); printf("pstr: %s\nstr1: %s\n",pstr,str1);; Hasilnya: pstr: Contoh Test str1: Contoh Test

  18. FUNGSI PUSTAKA STRING • Fungsi strchr(); Deklarasi: char *strchr(const char *str, int c); Untukmencarikarakterpertama yang sesuaidenganc (sebuahunsigned char) didalam string yang ditunjukolehstr. Karakter null dianggapsebagaibagiandari string. Mengembalikansebuah pointer yang menunjukpadakarakterpertama yang cocok, atau NULL jikatidakditemukan. Contoh: char str[]=“Contoh Test string“, *pstr; pstr=strchr(str, ‘T’); printf("pstr: %s\nstr: %s\n",pstr,str); Hasilnya: pstr: Test string str : Contoh Test string

  19. FUNGSI PUSTAKA STRING • Fungsi strcmp(); Deklarasi: int strcmp(const char *str1, const char *str2); Untukmembandingkanstring yang ditunjukstr1terhadap string yang ditunjukstr2. Mengembalikannilainoljikastr1 and str2sama. Mengembalikannilainegatipjikastr1<str2 ataumengembalikannilaipositipjikastr1>str2. Contoh: char str1[]="contoh", str2[]="Contoh"; if(strcmp(str1,str2)<0) printf("%s < %s\n",str1,str2); else if(strcmp(str1,str2)==0) printf("%s = %s\n",str1,str2); else printf("%s > %s\n",str1,str2); Hasilnya: contoh > Contoh

  20. FUNGSI PUSTAKA STRING • Fungsi strncmp(); Deklarasi: int strncmp(const char *str1, const char *str2, size_t n); Untukmembandingkann bytespertamadaristr1danstr2. Berhentimembandingkansetelahkarakter NULL. Mengembalikannilainoljikan bytes pertama(atausampaikarakter null) daristr1danstr2sama. Mengembalikannilainegatipjikastr1<str2 ataumengembalikannilaipositipjikastr1>str2 . Contoh: char str1[]="contoh Test String", str2[]="contoh Test"; if(strncmp(str1,str2,6)<0) printf("%s < %s\n",str1,str2); else if(strncmp(str1,str2,6)==0) printf("%s = %s\n",str1,str2); else printf("%s > %s\n",str1,str2); Hasilnya: contohTest String = contohTest

  21. FUNGSI PUSTAKA STRING • Fungsi strcoll(); Deklarasi: int strcoll(const char *str1, const char *str2); Untukmembandingkanstr1danstr2. HasilnyabergantungpadapenetapanlokasiLC_COLLATEnya. Mengembalikannilainoljikastr1== str2. Mengembalikannilainegatipjikastr1< str2danakanmengembalikannilaipositipjikastr1> str2 . Contoh: char str1[]="contoh", str2[]="Contoh Test"; if(strcoll(str1,str2)<0) printf("%s < %s\n",str1,str2); else if(strcoll(str1,str2)==0) printf("%s = %s\n",str1,str2); else printf("%s > %s\n",str1,str2); Hasilnya: contoh> ContohTest

  22. FUNGSI PUSTAKA STRING • Fungsi strcpy(); Deklarasi: char *strcpy(char *str1, const char *str2); Untukmenyalin string yang ditunjukolehstr2kestr1. Penyalinanhinggatermasukkarakter null daristr2. Jikastr1danstr2tumpang-tindihhasilnyatidakterdefinisikan. Contoh: char str1[]="contoh", str2[]="Contoh Test", *pstrcpy; pstrcpy=strcpy(str1,str2); printf("pstrcpy: %s\nstr1 : %s\n\n",pstrcpy,str1); Hasilnya: pstrcpy: Contoh Test str1 : Contoh Test

  23. FUNGSI PUSTAKA STRING • Fungsi strncpy(); Deklarasi: char *strncpy(char *str1, const char *str2, size_t n); Untukmenyalinhingga n karakterdaristring yang ditunjukolehstr2kestr1. Penyalinanberhentisetelah n karakterdisalinataukarakter null distr2tercapai.Jikakarakter null dicapai, karakternuldisalinke str1 hingga n karaktertelahdisalin. Contoh: char str1[]="contoh", str2[]="Contoh Test", *pstrcpy; pstrcpy=strncpy(str1,str2,20); printf("pstrcpy: %s\nstr1 : %s\n\n",pstrcpy,str1); Hasilnya: pstrcpy: Contoh Test str1 : Contoh Test

  24. FUNGSI PUSTAKA STRING • Fungsi strcspn(); Deklarasi: size_t strcspn(const char *str1, const char *str2); Untukmencarirangkaiankarakterpertamadalam string str1 yang tidakcocokdengankarakterdalamstr2. Mengembalikan panjang rangkaiankarakter pertama yang ditemukan tidak cocokdengan str2. Contoh: char str1[]="contoh Test String", str2[]="String"; intst; st= (int)strcspn(str1, str2); printf("st: %d\nstr1: %s\nstr2: %s\n",st,str1,str2); Hasilnya: St: 2 str1: contoh Test String str2 : String

  25. FUNGSI PUSTAKA STRING • Fungsi strerror(); Deklarasi: char *strerror(int errnum); Mencarisebuah array internal untuknomorkesalahanerrnumdanmengembalikan pointer yang menunjukkesebuah string pesankesalahan.

  26. FUNGSI PUSTAKA STRING • Fungsi strlen(); Deklarasi: size_t strlen(const char *str); Menghitungpanjang string strtanpamenyertakankarakternullnya.Mengembalikannilaijumlahkarakterdalm string.

  27. FUNGSI PUSTAKA STRING • Fungsi strpbrk(); Deklarasi: char *strpbrk(const char *str1, const char *str2); Mencarikarakterpertamadalam string str1 yang cocokdengansebarangkarakterdi string str2. Mengembalikansebuah pointer yang menunjukkelokasikaraktertersebut. Mengembalikansebuah pointer null jikatidakadakarakterdi string str1 yang cocokdengankarakterdi string str2.

  28. FUNGSI PUSTAKA STRING • Fungsi strrchr(); Deklarasi: char *strrchr(const char *str, int c); Mencarikarakterterakhir c (sebuah unsigned char) di string str. Karakter null dari string strdianggapsebagaibagiandari string str. Mengembalikansebuah pointer char yang menunjukpadakarakterakhir yang cocoktsb., atau null jikatidakditemukan.

  29. FUNGSI PUSTAKA STRING • Fungsi strspn(); Deklarasi: size_t strspn(const char *str1, const char *str2); Mencarirangkaiankarakterpertamadalam string str1 yang berisisembarangkarakter yang terdapatpada string str2. Mengembalikanpanjangrangkaiankaraktertersebut.

  30. FUNGSI PUSTAKA STRING • Fungsi strstr(); Deklarasi: char *strstr(const char *str1, const char *str2); Mencaristring str2 (tidaktermasukkarakter null) yang terdapatdalamstring str1. Mengembalikansebuah pointer yang menunjukke string str2 pertama yang terdapatdalam string str1. Jikatidakditemukan, makaakanmengembalikansebuah pointer null. Jikastr2menunjukkesebuah string denganpanjangnol, makaakanmengembalikan string str1.

  31. FUNGSI PUSTAKA STRING • Fungsi strtok(); Deklarasi: char *strtok(char *str1, const char *str2); Mengurai string str1 menjadi serangkaian token. Jika str1 dan str2 tidak nol, maka dimulaiurutan pencarian berikut. Dicari karakter pertama dalam str1 yang tidak terdapat pada str2. Jika str1 terdiri dariseluruh karakter dalam str2, berartitidak ada token dan dikembalikansebuah pointer null. Jika karakter tersebutditemukan, maka ditandaisebagaiawal token pertama. Kemudian mencari karakter berikutnya dari str1 yang terdapat dalam str2. Jika tidak ditemukan, maka token pertamaakanmencapaihinggaakhir str1. Jika ditemukan, maka karaktertersebutdigantidengansebuahkarakter null, sebagaiakhirdaritoken. Fungsi strtok() kemudian menyimpan danmengembalikanposisi berikutnyasecara internal. Pemanggilan berikutnya dengan pointer null untuk menggantistr1 akan menyebabkan posisi yang disimpansebelumnya dipakaiuntuk memulai mencari dari titik tersebut. Setiap kali pemanggilan berikutnya dapat menggunakan nilai yang berbeda untuk str2.Fungsiadak mengembalikan sebuah pointer ke token pertama di str1. Jika token tidakditemukan maka fungsiakanmengembalikanpointer null .

  32. FUNGSI PUSTAKA STRING Contoh untuk Penggunaan Fungsi strtok(); #include<stdio.h> #include<conio.h> int main(void) { char kalimat[]="Bahasa Pemrograman Komputer C++"; char *kata[50]; int i; kata[0]=strtok(kalimat," "); if(kata[0]==NULL) printf("Tidak ditemukan satu kata pun.\n"); else { for(i=1;i<50;i++){ kata[i]=strtok(NULL," "); if(kata[i]==NULL) break; } for(i=0;i<50;i++) { if(kata[i]==NULL) break; printf("Kata ke-%d: %s\n",i,kata[i]); } } getch(); return 0; }

  33. FUNGSI PUSTAKA STRING • Fungsi strxfrm(); Deklarasi: size_t strxfrm(char *str1, const char *str2, size_t n); Mentranformasi string str2 dan menempatkan hasilnya ke str1. Menyalin paling banyak n karakter ke str1 termasuk karakter akhirnull. Mengembalikan panjang string yang berubah (tanpakarakter null). Contoh: int main(void) { intlstr; char *s1 = "Pemrograman C"; char *s2 = "Komputer"; lstr=strxfrm(s1,s2,7); printf("strxfrm(s1,s2,7)=>s1: %s s2: %s lstr: %d\n\n",s1,s2,lstr); lstr=strxfrm(s1,s2,9); printf("strxfrm(s1,s2,9)=>s1: %s s2: %s lstr: %d\n\n",s1,s2,lstr); getch(); return(0); }

  34. FUNGSI KONVERSI STRING Fungsi pustaka untuk operasi string, prototypenya berada di file headerstdlib.h, diantaranya:

  35. FUNGSI KONVERSI STRING • Fungsi atof(); Deklarasi: double atof(const char *str); Fungsiatofini mengenali semua karakter yang membentuk bilangan floating point. Proses pengubahanakan berhenti jika ditemukan karakter-karakter yang bukan pembentuk floating point, misalnya : spasi,tanda baca (selain titik) dan karakter lain yang bukan Eatau e.Jika string tidak dapat diubah menjadi tipe double, hasilnya menjadi 0. Jika terjadi overflow,atof akanmenghasilkanHUGE_VAL dengan tanda plus atau minus. #include <stdlib.h> intmain() { char bilangan[5];double bil; printf("Masukkan sebuah bilangan : "); gets(bilangan); bil=atof(bilangan); printf("\n\nBilangan hasil konversi adalah %6.1lf",bil);getch(); }

  36. FUNGSI KONVERSI STRING • Fungsi atoi(); Deklarasi: int atoi(const char *str); Fungsiatoiini mengenali semua karakter yang membentuk bilangan integer. Proses pengubahanakan berhenti jika ditemukan karakter-karakter yang bukan pembentuk integer, misalnya : spasi,tanda baca dan karakter lain yang bukan angka.Jika string tidak dapat diubah menjadi tipe integer, hasilnya menjadi 0. Jika berhasil,atoiakanmenghasilkannilaibilangan integer. #include <stdlib.h> intmain() { char bilangan[5];intbil; printf("Masukkan sebuah bilangan : "); gets(bilangan); bil=atoi(bilangan); printf("\n\nBilangan hasil konversi adalah %d",bil);getch(); }

  37. FUNGSI KONVERSI STRING • Fungsi atol(); Deklarasi: long int atol(const char *str); Fungsiatolini mengenali semua karakter yang membentuk bilangan long integer. Proses pengubahanakan berhenti jika ditemukan karakter-karakter yang bukan pembentuk integer, misalnya : spasi,tanda baca dan karakter lain yang bukan angka.Jika string tidak dapat diubah menjadi tipe integer, hasilnya menjadi 0. Jika berhasil,atolakanmenghasilkannilaibilanganlong integer. #include <stdlib.h> intmain() { char bilangan[15]; long intbil; printf("Masukkan sebuah bilangan : "); gets(bilangan); bil=atol(bilangan); printf("\n\nBilangan hasil konversi adalah %d",bil);getch(); }

  38. FUNGSI KONVERSI STRING • Fungsi strtod(); Deklarasi: double strtod(const char *str, char **endptr); Fungsistrtoduntukmengkonversi string strmenjadibilanganbertipedouble. Karakter whitespace (spasi, tab, carriage return, baris-baru, tab vertical, atauformfeed) diabaikan. Bilangandapatterdiriatastanda (+/-), serangkaianangkadengansebuahkarakter decimal tertentu, dankarakter e atau E diikutiolehsebuaheksponenbertandaatautidak. Konversiberhentiketikaditemuikaraktertidakdikenal. Argumenendptradalahsebuahpointer to pointer. Alamatdarikaraktertakdikenal yang menyebabkankonversiberhentidisimpandalam pointer yang ditunjukolehendptr. Konversiberhasilakanmengembalikannilaibilanganpecahanhasilkonversi. Jikakonversigagal, dikembalikannilai 0. Jikanilaidiluarjangkauantipe double, makadikembalikanHUGE_VALUEdengantandadanERANGEdisimpandalamerrno. Jikanilaikonversiterlalukecildiluarjangkauantipe double, makadikembalikan 0 danERANGEdisimpandalamerrno.

  39. ContohFungsistrtod() #include <stdio.h> #include <conio.h> #include <stdlib.h> int main () { char Orbits[] = "365.24 29.53"; char * pEnd; double d1, d2; d1 = strtod (Orbits,&pEnd); d2 = strtod (pEnd,NULL); printf("d1: %f d2: %f\n\n",d1,d2); printf ("Bulanmengelilingibumi %f kali per tahun.\n", d1/d2); getch(); return 0; }

  40. FUNGSI KONVERSI STRING • Fungsi strtol(); Deklarasi: long int strtol(const char *str, char **endptr, int base); Fungsistrtoluntukmengkonversi string strmenjadibilanganbertipelong int. Karakter whitespace (spasi, tab, carriage return, baris-baru, tab vertical, atauformfeed) diabaikan. Bilangandapatterdiriatastanda (+/-) danserangkaianangka. Konversiberhentisaatditemuikaraktertidakdikenal. Jika argument base (radix) bernilai 0, makakonversibergantungpadaduakarakterpertama. Jikakarakterpertamaberupasebuahangka 1 s.d 9, makaberbasis 10 (decimal). Jika digit pertamaadalah 0 dan digit keduaberupaangka 1 s.d 7, makaberbasis 8 (octal). Jika digit pertama 0 dankarakterkedua x atau X, makaberbasis 16 (hexadecimal).

  41. FUNGSI KONVERSI STRING Jikaagumenbasebernilai 2 s.d. 36, maka argument base (radiks) digunakandankarakterdiluardefinisibasetidakdapatdikonversi. Untukbasebernilai 11 hingga 36, karakter A-Z (a-z) digunakan. Jikabasebernilai 16, maka “0x” atau “0X” dapatditulissebelumangka/bilangan. Argumenendptrmerupakansebuah pointer ke pointer. Alamatkaraktersaatkonversiberhentidisimpandalam pointer yang ditunjukolehendptr. Konversiberhasilakanmengembalikanbilanganhasilkonversi. Jikakonversigagal, dikembalikannilai 0. Jikanilaidiluarcakupantipelong int, makaLONG_MAXatauLONG_MINdikembalikanbesertatandanyadanERANGEdisimpandalam variable errno.

  42. ContohFungsistrtol() #include <stdio.h> #include <stdlib.h> #include <conio.h> int main () { char bil[] = "2001 60c0c0 -1101110100110100100000 0x6fffff"; char * pEnd; long int li1, li2, li3, li4; li1 = strtol (bil,&pEnd,10); li2 = strtol (pEnd,&pEnd,16); li3 = strtol (pEnd,&pEnd,2); li4 = strtol (pEnd,NULL,0); printf ("Hasilkonversidari %s adalah:\n",bil); printf ("Nilai li1: %ld\nNilai li2: %ld\nNilai li3: %ld\nNilai li4: %ld\n", li1, li2, li3, li4); getch(); return 0; }

  43. FUNGSI KONVERSI STRING • Fungsi strtoul(); Deklarasi: unsigned long int strtoul(const char *str, char **endptr, int base); Fungsistrtouluntukmengkonversi string strmenjadibilanganbertipeunsignedlong int. Karakter whitespace (spasi, tab, carriage return, baris-baru, tab vertical, atauformfeed) dilompati. Bilangandapatterdiriatastanda (+/-) danserangkaianangka. Konversiberhentiketikapertamaditemuikaraktertidakdikenal. Jika argument base (radix) bernilai 0, makakonversibergantungpadaduakarakterpertama. Jikakarakterpertamaberupasebuahangka 1 s.d 9, makaberbasis 10 (decimal). Jika digit pertamaadalah 0 dan digit keduaberupaangka 1 s.d 7, makaberbasis 8 (octal). Jika digit pertama 0 dankarakterkedua x atau X, makaberbasis 16 (hexadecimal).

  44. FUNGSI KONVERSI STRING Jikaagumenbasebernilai 2 s.d. 36, maka argument base (radiks) digunakandankarakterdiluardefinisibasetidakdapatdikonversi. Untukbasebernilai 11 hingga 36, karakter A-Z (a-z) digunakan. Jikabasebernilai 16, maka “0x” atau “0X” dapatditulissebelumangka/bilangan. Argumenendptrmerupakansebuah pointer ke pointer. Alamatkaraktersaatkonversiberhentidisimpandalam pointer yang ditunjukolehendptr. Konversiberhasilakanmengembalikanbilanganhasilkonversi. Jikakonversigagal, dikembalikannilai 0. Jikanilaidiluarcakupantipelong int, makaLONG_MAXatauLONG_MINdikembalikanbesertatandanyadanERANGEdisimpandalam variable errno.

  45. ContohFungsistrtoul() #include <conio.h> #include <stdio.h> #include <stdlib.h> int main () { char inputBil [256]; unsigned long ul; printf ("Masukkanbilanganbulat: "); fgets (inputBil,256,stdin); ul = strtoul (inputBil,NULL,0); printf ("Nilaibilangandimasukkan: %lu\n",ul); printf ("Dikali 2: 2 x %ul = %ul\n",ul,ul*2); getch(); return 0; }

  46. LATIHAN • Ketikkansebuahkalimatmelalui keyboard denganmenggunakan • gets() (ataufgets())kemudiandidapatkankeluaranberupalaporantentangjumlahhurufkecildanhurufkapitaldalamkalimattsbdanjumlahsetiaphuruf/anggka yang tdppadakalimattsb. • MasukkannamaAnda, rubahkedalamhurufbesarsemua, balikkanurutanhurufnya, selanjutnyatampilkanhasilnyadilayar. • Ketikkan sebuah kalimat, hitung dan tampilkan jumlah spasinya. • 4. Ketikkan sebuah kalimat, kemudian tampilkan kalimat tsb satu kata perbaris. Asumsikan ada satu spasi yang memisahkan setiap kata dan kalimat diakhiri dengan sebuah tanda titik.

  47. LATIHAN 5. Buat program untuk menghasilkan keluaran sbb : UNIVERSITAS BRAWIJAYA UNIVERSITAS BRAWIJA UNIVERSITAS BRAWI UNIVERSITAS BRA UNIVERSITAS B UNIVERSITAS UNIVERSIT UNIVERS UNIVE UNI U

  48. LATIHAN • Ketikkansebuahbilangan, ubahlahmenjadibilangandengandilengkapititikribuansertaubahlahmenjadibentukteks. Contoh: Biladiketikkan 15750, diubahmenjadi: 15.750 danteks: lima belasributujuhratus lima puluh. • Denganmengetikkansebuahparagrap, ubahlahtampilannyamenjadibentuk rata kiridan rata kanan (justify) dalamlebarkolomtertentu.

More Related