Semua nilai yang dimasukan melalui keyboard pada dasarnya adalah karakter atau rangkaian karakter (string). Nilai numerik yang dimasukan menggunakan fungsi standar scanf, cscanf, fscanf, gets dan cin pada dasarnya adalah nilai string yang telah mengalami proses konversi dari string menjadi bilangan bulat integer atau bilangan real (floating point dan double). Agar kita bisa menggunakan fungsi getString yang telah kita buat untuk memasukan data numerik, maka string yang dimasukan melalui fungsi getString harus dikonversi menjadi numerik. Begitu juga sebaliknya, untuk menampilkan data numerik menggunakan fungsi anggota writeString dari class Screen, maka data tersebut harus dikonversi menjadi representasi stringnya. Berikut ini adalah fungsi-fungsi konversi yangdapat kita gunakan:
// Konversi string s menjadi bentuk numerik integer-nya
int atoi(const char *s);
// Konversi string s menjadi bentuk numerik double-nya
double atof(const char *s);
// Konversi numerik double menjadi representasinya dalam bentuk
// null terminated string
char *gcvt(double value, int ndec, char *buf);
Fungsi atoi digunakan untuk mengkonversi nilai numerik integer dalam bentuk representasi string menjadi bilangan numerik integer sebenarnya. Prototype fungsi atoi dideklarasikan pada file header stdlib.h. Fungsi atof digunakan untuk mengubah nilai numerik float dan double dalam bentuk representasi string menjadi nilai numerik double yang sesungguhnya. Prototype fungsi atof dideklarasikan dalam file header math.h. Jika fungsi atoi dan atof digunakan untuk mengkonversi nilai numerik dalam representasi string menjadi nilai numerik sesungguhnya, maka fungsi gcvt digunakan untuk mengubah nilai numerik menjadi representasi stringya.
Untuk lebih memahami ketiga fungsi konversi yang telah dibahas sebelumnya, berikut ini adalah contoh program untuk mempraktekkan ketiga fungsi tersebut. Simpan program berikut ini dengan nama project contoh16.ide pada direktori yang sama dengan file screen.cpp. Pada saat pembuatan project, pilihlah mode Emulation atau Floating Point pada group box Math Support di jendela New Target. Hal ini dilakukan karena pada program contoh16.cpp akan dilakukan perhitungan bilangan numerik real.
Perhatikanlah baris 35 pada program contoh16.cpp! Pada baris tersebut, nilai str yang sebelumnya dimasukkan menggunakan fungsi getString diubah menjadi nilai numerik yang sesungguhnya lalu disimpan dalam variabel jari2. Kemudian perhatikan baris 46. Pada baris 46 tertulis gcvt(luas, 10, str). Maksudnya adalah nilai dari variabel luas akan diubah menjadi representasi stringnya yang disimpan pada variabel str. Banyak karakter yang dapat ditampung adalah 10 karakter. Demikian juga yang dilakukan pada baris 54.
Title :
Pertemuan XII : Konversi Nilai String Menjadi Numerik atau Sebaliknya
Description : Semua nilai yang dimasukan melalui keyboard pada dasarnya adalah karakter atau rangkaian karakter (string). Nilai numerik yang dimasukan me...
Rating :
5