Mengonversi Angka Menggunakan C++ dengan Fungsi stoi()
C++ adalah bahasa pemrograman yang sangat kuat dan banyak digunakan dalam pengembangan perangkat lunak. Salah satu fitur yang berguna dalam C++ adalah kemampuan untuk mengonversi string yang merepresentasikan angka ke tipe data numerik menggunakan fungsi stoi()
. Fungsi ini sangat membantu ketika kamu harus mengolah data angka yang berasal dari input pengguna atau data yang disimpan dalam bentuk string.
Mengapa Konversi Angka Penting?
Dalam pengembangan aplikasi, seringkali kamu perlu:
- Mengonversi data input berupa string ke tipe data numerik untuk melakukan perhitungan.
- Mengolah data yang diambil dari file atau database yang disimpan dalam format teks.
- Melakukan validasi dan perhitungan berdasarkan nilai yang diambil dari sumber eksternal.
Dengan fungsi stoi()
, proses konversi angka menjadi lebih sederhana dan efisien.
Fungsi stoi() dalam C++
Fungsi stoi()
adalah bagian dari header <string>
dan digunakan untuk mengonversi string ke integer. Sintaks dasarnya adalah sebagai berikut:
int stoi (const string& str, size_t* idx = 0, int base = 10);
str
: String yang akan dikonversi.idx
: (Opsional) Penunjuk ke posisi karakter pertama setelah angka.base
: Basis angka (default adalah 10, untuk desimal). Kamu dapat mengubahnya misalnya ke 2 (biner), 8 (oktal), atau 16 (heksadesimal).
Contoh Penggunaan stoi()
Berikut adalah contoh sederhana yang menunjukkan cara mengonversi string angka biner ke integer desimal menggunakan stoi()
:
#include <iostream>
#include <string> // Diperlukan untuk fungsi stoi()
using namespace std;
int main() {
// String yang merepresentasikan angka biner
string angkaBiner = "11111111";
// Mengonversi string biner ke integer desimal dengan basis 2
int desimal = stoi(angkaBiner, nullptr, 2);
cout << "Angka Biner: " << angkaBiner << endl;
cout << "Angka Desimal: " << desimal << endl; // Output: 255
return 0;
}
Penjelasan Kode:
angkaBiner
adalah string yang berisi angka biner.- Fungsi
stoi(angkaBiner, nullptr, 2)
mengonversi string tersebut ke integer dengan basis 2. Hasilnya adalah angka desimal 255. - Hasil konversi kemudian ditampilkan menggunakan
cout
.
Tips dan Trik
-
Validasi Input:
Pastikan string yang dikonversi hanya berisi karakter yang valid untuk basis yang ditentukan. Misalnya, string untuk basis 2 hanya boleh terdiri dari0
dan1
. -
Menangani Exception:
Jika string tidak valid atau tidak dapat dikonversi, fungsistoi()
akan melemparkan pengecualianinvalid_argument
atauout_of_range
. Gunakan bloktry-catch
untuk menangani kemungkinan tersebut, seperti:try { int nilai = stoi("123abc", nullptr, 10); } catch (invalid_argument& e) { cout << "Input tidak valid untuk konversi ke integer." << endl; }
-
Konversi dari Basis Lain:
Fungsistoi()
mendukung konversi dari berbagai basis. Misalnya, untuk mengonversi string heksadesimal ke desimal, gunakan basis 16:int dariHeksadesimal = stoi("ff", nullptr, 16); // Hasil: 255
Gunakan Alat Bantu Online
Jika kamu ingin mencoba konversi angka secara cepat tanpa menulis kode, kamu bisa memanfaatkan alat online seperti chiffre en lettres. Alat ini sangat berguna untuk konversi cepat antara format angka dan teks, serta mendukung berbagai basis angka.
Dengan memahami dan memanfaatkan fungsi stoi()
di C++, kamu dapat dengan mudah mengonversi data angka dari string ke tipe data numerik. Selamat mencoba contoh kode di atas dan terus eksplorasi kemampuan C++ kamu! 😊