Konversi StringNumeric OPERASI STRING
2008 | Direktorat Pembinaan SMK
307 Contoh
Penggunaan: lnum = atol500000;
atof
Menerima C‐string sebagai argumen. Fungsi mengubah string ke dua
yang kembali dan nilai. Gunakan fungsi ini mengkonversi string ke
float atau double.
Contoh Penggunaan: fnum = atof 3,14159
itoa Mengkonversi
sebuah integer ke string. Argumen pertama, nilai, adalah
integer. Hasilnya akan disimpan di lokasi yang oleh kedua argumen,
string. Argumen yang ketiga, basis, merupakan integer. It menentukan
penomoran system yang dikonversi integer yang harus dinyatakan
dalam 8 = oktal, desimal = 10, 16 = heksadesimal, dll. Contoh
Penggunaan: itoa nilai, string, basis;
Fungsi atoi mengkonversi string menjadi bilangan integer. Hal
tersebut menerima argumentasi string dan kebalika nilai bilangan
integer yang dikonversi. Di bawah ini adalah sebuah contoh dari bagai-
mana cara melakukan konversi: int
num; num
= atoi1000; Dalam statemen ini, atoi
mengkonversi string 1000 ke dalam bilangan integer 1000. Begitu
variabel num diberikan nilai tersebut,maka dapat digunakan
dalam operasi matematik atau setiap opersi yang memerlukan suatu nilai
numerik.
Fungsi atol bekerja seperti halnya atoi, kecuali pada nilai dengan
tipe data long integer. Perhatikan contoh dibawah ini:
long
bigNum; bigNum
= atol500000; sebagaimana yang diinginkan, fungsi
atof menerima sebuah argumentasi string dan melakukan konversi string
menjadi double. Sebuah nilai numerik double akan dikembalikan, seperti
ditunjukkan pada program dibawah ini:
double
fnum; fnum
= atof12.67; Fungsi itoa adalah serupa
dengan atoi, tetapi itoa bekerja kebalikannya. Itoa akan
mengkonversi suatu bilangan integer ke dalam penyajian string yang
merepresentasikan bilangan integer. Fungsi itoa menerima tiga
argumentasi: yaitu nilai bilangan integer untuk dikonversi, suatu
penunjuk pointer menjadi lokasi memori dimana string tersebut
disimpan, dan sebuah nomor merepresentasikan dasar-dasar
sebuah nilai yang dikonversi. Di bawah ini adalah satu satu contoh
instruksinya: char
numArray[10]; itoa1200,
numArray, 10; cout
numArray endl; Sebuah potongan program
tersebut diatas akan mengkonversi bilangan integer 1200 menjadi string.
308
Direktorat Pembinaan SMK| 2008
String tersebut kemudian disimpan di dalam sebuah array dengan nama
numArray. Argumentasi yang ketiga, 10, berarti nomor harus ditulis dalam
sistim desimal, atau notasi dasar 10. Keluaran dari statemen cout diatas
adalah: 1200
Sekarang perhatikan program dibawah ini, yang menggunakan
sebuah fungsi konversi string-to- number, atoi. Pada program meminta
pengguna untuk memasukan sebuah rangkaian nilai-nilai, atau surat Q
atau q untuk berhenti. Rata-rata dari angka-angka tersebut kemudian
dihitung dan ditampilkan.
Program 8.10 includeconio.h
include iostream
include cstring
untuk strcmp include
cstdlib untuk atoi
using namespace std;
int
main {
const int LENGTH =
20 ;
char input[LENGTH]; int total =
, count =
;
double average; cout
Program ini akan mencari rata‐rata bilangan.\n
; cout
Masukan bilangan pertama atau tekan Q untuk keluar:
; cin.getlineinput, LENGTH;
while strcmpinput,
Q =
strcmpinput, q
= {
total += atoiinput; count++;
cout
Masukan bilangan selanjutnya atau tekan Q untuk keluar:
; cin.getlineinput, LENGTH;
} if count =
{ average = doubletotalcount;
cout Reratanya
adalah: average endl;
}
2008 | Direktorat Pembinaan SMK
309 getch;
return
; }
Keluaran program, diatas adalah: Program
ini akan mencari rata‐rata bilangan. Masukan
bilangan pertama atau tekan Q untuk keluar: 45 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 67 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 65 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 45 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 43 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 23 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 23 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 45 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: 67 Masukan
bilangan selanjutnya atau tekan Q untuk keluar: q Reratanya
adalah: 47 Pemanggilan fungsi strcmp
untuk membandingkan dua string. Jika kedua string serupa, maka nilai
akan diisi dengan 0. sebaliknya jika tidak maka nilai yang diisikan bukan
nol. Sebagaimna statemen while, strcmp digunakan untuk menentukan,
jika string masukannya menggunakan salah satu Q atau
q. while
strcmpinput, Q = 0strcmpinput,
q = 0 Jika user tersebut belum
memasukkan karakter Q atau q maka program akan menggunakan
atoi untuk mengkonversi string kedalam pada masukan menjadi
bilangan integer dan menambahkan nilai total secara keseluruhan
sebagaimana dalam insruksi berikut ini:
total += atoiinput; Keep a running
total user kemudian akan meminta nomor
berikut. Ketika semua angka-angka telah dimasukkan, user mengakhiri
pengulangan dengan memasukan karakter Q atau q. Jika satu atau
lebih angka-angka tersebut telah dimasukkan, maka perhitungan rata-
rata angka-angka tersebut akan ditampilkan.