Global searching is not enabled.
Skip to main content
Forum

Introduce yourself to all the other new Students starting this year

Mengonversi Angka Menggunakan C++ dengan Fungsi stoi()

Mengonversi Angka Menggunakan C++ dengan Fungsi stoi()

by salsa dwiella - Number of replies: 0

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 dari 0 dan 1.

  • Menangani Exception:
    Jika string tidak valid atau tidak dapat dikonversi, fungsi stoi() akan melemparkan pengecualian invalid_argument atau out_of_range. Gunakan blok try-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:
    Fungsi stoi() 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! 😊