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.