VIII MANIPULASI STRING

dokumen-dokumen yang mirip
BAB VII STRING Konstanta String Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda, misalnya:

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

Konsep Pemrograman. Bab 10. String. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

KONSEP STRING. Nilai string selalu diakhiri dengan tanda NULL (\0)

PRAKTIKUM 10 STRING A B C D E \0. Gambar 11.1 Komposisi penyimpanan string dalam memori

1. Konstanta String Kostanta ABCDE disimpan dalam memory secara berurutan, dengan komposisi sebagai berikut : Memory rendah.

STRING DASAR PEMROGRAMAN

A B C D E \0. Gambar Komposisi penyimpanan string dalam memori

String 1 A. TUJUAN PEMBELAJARAN

Praktikum 7 STRING B. PERCOBAAN. 1. Memasukkan data string dari keyboard /* File program : nama.c */ #include <stdio.

DASAR STRING. Sama halnya seperti array-array sebelumnya, inisialisasi pada string adalah: char mystring[] = { 'H', 'e', 'l', 'l', 'o', '\0' };

Konstanta String. Setiap karakter pada konstanta string menempati memori sebesar 1 byte Selalu diakhiri dengan karakter NULL atau \0

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C

Algoritma & Pemrograman #11. by antonius rachmat c, s.kom, m.cs

Untuk menyimpan string sepanjang 10, kita perlu menyediakan tempat sepanjang 11 karakter : char NPM[11];

String dpat dideklarasikan dengan menggunakan array karakter seperti berikut:

Bab 2. Dasar-Dasar Pemrograman C

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

BAB IV PENGULANGAN PROSES

A R R A Y. Bentuk umum deklarasi array : type nama_array[ukuran] tipe : menyatakan tipe dasar array ukuran : menyatakan banyaknya elemen pada array

PRAKTIKUM 5 PENGULANGAN PROSES 1

Tipe Data Dasar. Data bisa dinyatakan dalam bentuk konstanta atau variabel.

BAB II DASAR STRING. void main() { char teks[13]; //string dengan panjang maksimal 12 karakter clrscr(); //hapus layar

POINTER DASAR PEMROGRAMAN

Data bisa dinyatakan dalam bentuk konstanta atau variabel.

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

POINTER I. Oleh : Mike Yuliana PENS-ITS

Fungsi : Dasar Fungsi

Konsep Pemrograman. Bab 12. Pointer 2. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Pemrograman Dasar C. Minggu 6

Bahasa C Array. Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha

Dosen : Dede Kurniadi, S.Kom.,M.Kom HP :

BAB II DASAR-DASAR PEMROGRAMAN C

PEMROGRAMAN BAHASA C BAB II 2.1 STRUKTUR BAHASA C

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

BAB 4 PENGENALAN BAHASA C

BAB I SEKILAS TENTANG C

Tipe Data Dasar. Berdasarkan jenisnya, data dapat dibagi menjadi lima kelompok dinamakan tipe data dasar, yaitu:

Algoritma Pemrograman. Fery Updi,M.Kom

VARIABEL & TIPE DATA PEMROGRAMAN C++

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu :

2. Uraian Materi. a. Pengertian Fungsi

Praktikum Dasar Pemrograman 2014 MODUL 3: Array dan String

Algoritma Pemrograman. Fery Updi,M.Kom

BAB VIII POINTER. Tujuan :

Sekilas Tentang C. Dasar Pemrograman & Algoritma

Praktikum 5 PERULANGAN PROSES

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 6 PENGULANGAN PROSES 2

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan lin

Fungsi. Nisa ul Hafidhoh

PENGENALAN C++ Bab 1

BAB 1 KONSEP DASAR BAHASA C

fungsi Oleh: Sri Supatmi,S.Kom

Praktikum 21 String

Array 1 A. TUJUAN PEMBELAJARAN

PERTEMUAN 3 KONSEP TIPE DATA

xxxx alamat Praktikum 11 POINTER

BAB V, VI ARRAY, STRING

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

ARRAY. Karakteristik

Pengertian Fungsi bagian dari program mengerjakan suatu tugas letaknya terpisah dari program yang memanggilnya

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan lin

PRAKTIKUM 7 FUNGSI 1

KUMPULAN SYNTAX DASAR C++

MAKALAH POINTER PADA BAHASA C

Bahasa C-M6 By Jamilah, Skom 1

Kurikulum Qt. { Basic OOP } Chapter 3. Array dan String

KONSEP DASAR PROGRAM BAHASA C

Pertemuan 9 Pemrograman Terstruktur

a. Array berdimensi satu o Setiap elemen array dapat diakses melalui indeks. o Indeks array (subscript) secara default dimulai dari 0.

Teknik Pemrograman Terstruktur 1 PENGENALAN BAHASA C

BAB VI ARRAY. tipe_data nama_var[ukuran];

KURSUS ONLINE JASA WEBMASTERS

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

Achmad Solichin.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Minggu ke-12 Built-in Function

MENAMPILKAN HASIL Operasi Keluaran (Output)

Pointer. Pointer adalah variabel yang menyimpan alamat dari variabel yang lainnya. Deklarasi pointer : datatype *ptr_name; Contoh:

Input/Output. Input/output Memformat keluaran Pengolahan karakter dan String

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

DIKTAT MATA KULIAH PEMROGRAMAN I BAB X STRING & MATH

PRAKTIKUM 11 POINTER 1

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n.

BAB I PENGENALAN BAHASA C

Algoritma Pemrograman & Struktur Data

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

Praktikum 3 DASAR-DASAR PEMROGRAMAN C

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2

Pointer 2 A. TUJUAN PEMBELAJARAN. 1. Memahami tentang Pointer to Array 2. Memahami tentang Pointer to String

FUNGSI. Danang Wahyu utomo Tim Algoritma Pemrograman TI S1 Universitas Dian Nuswantoro

Transkripsi:

Manipulasi String 97 VIII.1 Pendahuluan VIII MANIPULASI STRING - String merupakan bentuk data yang dapat digunakan untuk menampung dan memanipulasi data teks. - Dalam bahasa C, string bukan merupakan tipe data tersendiri, namun merupakan jenis khusus dari tipe array. - Tipe string dapat digunakan sebagai konstanta, yang ditulis dengan diawali dan diakhiri tanda petik ganda. Misalnya: Teknik Elektro - Konstanta string seperti di atas disimpan dalam memori secara berurutan, dengan komposisi sebagai berikut: memori rendah memori tinggi T e k n i k E l e k t r o Gambar 8.1 Struktur penyimpanan string pada memori. - Setiap karakter akan menempati memori sebesar 1 byte, dan byte terakhir otomatis akan berisi karakter NULL. VIII.2 Variabel String - Variabel string digunakan untuk menyimpan data string. Misalnya char nama[15]; - Contoh diatas merupakan instruksi untuk mendeklarasikan variabel tipe string dengan panjang maksimal mengandung 15 karakter (termasuk karakter NuLL) - Deklarasi di atas sebenarnya adalah deklarasi array bertipe char. - Untuk memasukkan data string ke dalam suatu variabel dapat dilakukan dengan menggunakan instruksi gets( ), dengan bentuk umum pemakaiannya adalah: gets(nama_array); - Jika menggunakan statemen scanf( ), maka instruksinya akan menjadi: scanf( %,nama_array);

Manipulasi String 98 - Didepan nama array tidak perlu ada operator &(operator alamat), karena nama array tanpa kurung siku sudah menyatakan alamat. - Jika menggunakan scanf( ), data string masukan tidak bisa mengandung spasi. - Prototipe gets( ) terdapat pada file stdio.h. /* -------------------------------------------------------- */ /* File program : nama.c */ /* Contoh memasukkan data string dari keyboard */ /* --------------------------------------------------------- */ #include <stdio.h> main() char nama[15]; printf("nama anda: "); gets(nama); printf("halo, %s. Selamat datang di Elektro.\n",nama); Program 8-1 - Pada program di atas, setelah deklarasi char nama[15], maka komputer akan menyediakan ruang pada memori sebanyak 15 karakter. - Setelah pengguna memasukkan data nama : ABDUL SALAM, maka data string yang dimasukkan akan diletakkan pada area memori yang sudah dipesan. - Karena data yang dimasukkan kurang dari 15 karakter, maka otomatis setelah karakter terakhir akan diisi dengan karakter NULL.

Manipulasi String 99 ruang memori yang disediakan setelah : char nama[15]; Setelah pemasukan data: ABDUL SALAM A B D U L S A L A M \0 karakter NULL (menyatakan alamat dari lokasi data string) Gambar 8.2 Variabel string dan data string. byte sisa tidak digunakan - Instruksi gets( ) akan membaca seluruh karakter yang diketik pada keyboard sampai tombol ENTER ditekan. Dalam hal ini tidak ada pengecekan terhadap batasan dari array yang merupakan argumennya. - Jika string yang dimasukkan melebihi ukuran array, maka sisa string (panjang string dikurangi ukuran array plus karakter NULL) akan ditempatkan ke lokasi sesudah bagian akhir array. VIII.3 Inisialiasi String - Suatu variabel string dapat diinisialisasi seperti halnya variabel array yang lain, namun pada elemen terakhir harus berupa karakter NULL. Sebagai contoh: char kota[ ] = Y, o, g, y, a, k, a, r, t, a, \0 ; - Contoh diatas menyatakan bahwa variabel kota adalah variabel string dengan nilai awal berupa string Yogyakarta. - Bentuk inisialisasi yang lebih singkat adalah: char kota[ ] = Yogyakarta ;

Manipulasi String 100 - Pada bentuk ini, karakter NULL tidak perlu ditulis, karena secara implisit akan disisipkan oleh kompiler. VIII.4 Menampilkan Isi Variabel String Ke Layar - Untuk menampilkan isi variabel string, dapat digunakan salah satu dari pernyataan berikut: o puts(var_string); o printf( %s,var_string); o printf(var_string); - Contoh program berikut ini akan menampilkan isi variabel kota, berdasarkan dua bentuk inisialisasi string. /* -------------------------------------------------- */ /* File program : kota.c */ /* Contoh menampilkan data string ke layar */ /* -------------------------------------------------- */ #include <stdio.h> void bentuk1(void); void bentuk2(void); main() bentuk1(); bentuk2(); void bentuk1(void) char kota[]= 'Y','o','g','y','a','k','a','r','t','a','\0'; puts(kota); void bentuk2(void) char kota[] = "Solo"; puts(kota);

Manipulasi String 101 contoh hasil eksekusi: C>kota Yogyakarta Solo Program 8-2 VIII.5 Mengakses Elemen String - Variabel string merupakan bentuk khusus dari array bertipe char. Oleh karena itu, elemen dari variabel string dapat diakses seperti halnya pengaksesan elemen pada array. - Program berikut menunjukkan cara mengakses elemen array untuk menghitung total karakter dari string yang dimasukkan melalui keyboard. /* ------------------------------------------- */ /* File program : hitkar.c */ /* Contoh mengakses elemen string */ /* ------------------------------------------- */ #include <stdio.h> #define maks 256 main() int i, jumkar; char teks[maks]; puts("masukkan suatu kalimat."); puts("saya akan menghitung jumlah karakternya."); gets(teks); jumkar = 0; for(i=0;teks[i];i++) jumkar++; printf("jumlah karakter = %d\n", jumkar);

Manipulasi String 102 Contoh hasil eksekusi: c>hitkar Masukkan suatu kalimat. Saya akan menghitung jumlah karakternya. Selamat datang Jumlah karakter = 14 Program 8-3 - Penghituntgan jumlah karakter dari string teks dapat dilakukan dengan memeriksa elemen dari string dimulai dari posisi yang pertama (indeks sama dengan 0) sampai ditemukannya karakter NULL. - Elemen yang ke-i dari teks dinyatakan dengan: teks[i] - Pemeriksaan terhadap teks[i] selama tidak berupa karakter NULL (dimulai dari indeks bernilai 0) dilakukan melalui: for(i=0;teks[i];i++) jumkar++; - Kondisi teks[i] pada for mempunyai makna yang secara implisit berupa: teks[i]!= \0 - atau karakter yang ke-i dari teks tidak sama dengan karakter NULL. - Contoh program berikut memperlihatkan cara penyalinan nilai ke suatu variabel string. /* ------------------------------------------- */ /* File program : SALINSTR.c */ /* Contoh menyalin suatu string */ /* ------------------------------------------- */ #include <stdio.h>

Manipulasi String 103 main() int i; char keterangan[] = "Saya menyukai bahasa C"; char kalimat[30]; i = 0; while (keterangan[i]!= '\0') kalimat[i] = keterangan[i]; i++; kalimat[i] = '\0'; /* Beri karakter NULL */ printf("isi kalimat = %s\n", kalimat); Contoh hasil eksekusi : c>salinstr Isi kalimat = Saya menyukai bahasa C Program 8-4 - Untuk menyalin isi variabel string keterangan ke kalimat, pernyataan yang digunakan berupa: while (keterangan[i]!= '\0') kalimat[i] = keterangan[i]; i++; - Selama keterangan[i] tidak berupa karakter NULL, maka keterangan[i] akan disalin ke kalimat [i]. - Jadi dalam loop while tidak terdapat penyalinan karakter NULL dari keterangan ke kalimat. - Oleh karena itu sekeluarnya dari loop while, pemberian karakter NULL ke kalimat perlu dilakukan.

Manipulasi String 104 - Bentuk yang lebih singkat untuk melakukan penyalinan keterangan ke kalimat berupa: i=0; while (kalimat[i] = keterangan[i]) i++; - Dengan penulisan seperti di atas, penyalinan karakter NULL juga akan dilakukan. - Setelah menyalin karakter NULL (karena kondisi bernilai NILL) maka eksekusi terhadap loop akan dihentikan. Dengan demikian sekeluarnya dari loop tidak perlu ada pernyataan: kalimat[i] = \0 ; VIII.6 Beberapa Fasilitas Untuk Operasi Karakter - Turbo C menyediakan sejumlah makro berargumen (semacam fungsi tetapi didefinisikan dengan menggunakan pengarah praprosesor #define) dan fungsi yang berkaian dengan data karakter. - Fasilitas ini sangat bermanfaat untuk keperluan pemanipulasian string. - Beberapa diantaranya didefinisikan pada file-judul CTYPE.H, sebagai berikut: isalnum() : int isalnum(int c); - Merupakan makro yang akan menghasilkan nilai benar (bukan nol) jika c adalah sebuah huruf (huruf kapital maupun huruf kecil) atau berupa sebuah karakter angka (0 sampai dengan 9). isalpha() Mempunyai bentuk:

Manipulasi String 105 int isalpha(int c); - Merupakan makro yang akan menghasilkan nilai benar (bukan nol) jika c adalah sebuah huruf (huruf kapital maupun huruf kecil). isdigit() int isdigit(int c); - Merupakan makro yang menghasilkan nilai benar (bukan nol) jika c adalah sebuah karakter angka (0 sampai dengan 9). islower() int islower(int c); - Merupakan makro yang akan menghasilkan nilai benar (bukan nol) jika c adalah sebuah huruf kecil ( a sampai dengan z ). isupper() int isupper(int c); - Merupakan makro yang akan menghasilkan nilai benar (bukan nol) jika c adalah sebuah huruf kecil ( A sampai dengan Z ). tolower() int tolower(int c);

Manipulasi String 106 - Jika c adalah huruf kapital, maka hasil fungsi berupa huruf kecilnya. - Apabila c tidak berupa huruf kapital, keluaran fungsi sama dengan c. toupper() int toupper(int c); - Jika c adalah huruf kecil, maka hasil fungsi berupa huruf kapitalnya. - Apabila c tidak berupa huruf kecil, keluaran fungsi sama dengan c. strcpy() strcpy(tujuan, asal); - Fungsi ini digunakan untuk menyalin variabel string asal ke variabel string tujuan. - Dalam hal ini, variabel tujuan haruslah mempunyai ukuran yang dapat digunakan untuk menampung seluruh karakter dari string asal. - Contoh: strcpy(pepatah, Kalau ada kemauan pasti ada jalan ); - merupakan instruksi untuk menyalin string Kalau ada kemauan pasti ada jalan ke variabel string pepatah. strlen() strlen(var_string); - Digunakan untuk memperoleh jumlah karakter dalam variabel string yang merupakan argumennya.

Manipulasi String 107 - Karakter NULL tidak ikut dihitung. strcat() strcat(tujuan, sumber); - Fungsi ini digunakan untuk menambahkan variabel string sumber ke bagian akhir dari variabel string tujuan. strcmp() var_int = strcmp(str1, str2); - Fungsi ini digunakan untuk membandingkan variabel string str1 dengan string str2. - Hasil fungsi bertipe int berupa nilai o Negatif, jika str1 kurang dari str2 o Nol, jika str1 sama dengan str2 o Positif, jika str1 lebih dari str2 - Nilai absolut hasil fungsi (kecuali jika bernilai nol) menyatakan selisih nilai ASCII dari karakter yang menyebabkan str1 berbeda dengan str2. - Pembandingan dilakukan untuk karater pada posisi yang sama dari str1 dan str2, dimulai dari karakter terkiri. - Acuan pembandingan dari dua buah karakter didasarkan oleh nilai ASCII-nya. Misal karakter A lebih kecil dari karakter B dan karakter B lebih kecil dari karakter C. - Contoh : string HALO lebih kecil dari string HELO, karena karakter A mempunyai nilai yang lebih kecil daripada karakter E. - Apabila salah satu string mempunyai panjang yang lebih pendek, dan sampai karakter yang terakhir dari string yang terpendek ternyata karakter antara str1 dengan str2 sama, maka string yang lebih pendek mempunyai nilai yang lebih kecil dibandingkan dengan string yang lebih panjang.

Manipulasi String 108 Latihan Berdasarkan string BORLAND, buatlah program yang akan menghasilkan keluaran sebagai berikut: D ND AND LAND RLAND ORLAND BORLAND