BlatakTech
BlatakTechBlog
ID / EN
Case Study 2026.OCT.11 ·5 min read

Membangun Sistem Pengecekan Error Portabel dengan C untuk Mengatasi Kesalahan Input

Jery Hardianto
Jery Hardianto Software Engineer
Membangun Sistem Pengecekan Error Portabel dengan C untuk Mengatasi Kesalahan Input

Pelajari cara membuat sistem pengecekan error efektif dengan C untuk menghindari error aplikasi dan meningkatkan keamanan.

Membangun Sistem Pengecekan Error Portabel dengan C: Cara Mengatasi Keterbatasan Pengecekan Konversi String ke Float

Dalam dunia pemrograman, salah satu tantangan yang paling umum adalah mengatasi kesalahan input user. Kesalahan input dapat menyebabkan aplikasi mengalami error atau bahkan crash. Oleh karena itu, penting untuk membangun sistem pengecekan error yang efektif dan portabel. Dalam artikel ini, kita akan membahas tentang cara membuat sistem pengecekan error dengan menggunakan C, dengan fokus pada cara mengatasi keterbatasan pengecekan konversi string ke float.

Apa Itu Pengecekan Error?

Pengecekan error adalah proses memeriksa apakah input user atau data yang dikirimkan ke aplikasi sesuai dengan yang diharapkan. Pengecekan error dapat dilakukan pada berbagai tahap, seperti saat input user, saat memproses data, atau saat menyimpan data ke database. Dalam artikel ini, kita akan fokus pada pengecekan error saat konversi string ke float.

Mengapa Pengecekan Error Penting?

Pengecekan error sangat penting karena dapat membantu menghindari error atau crash aplikasi. Dengan pengecekan error yang efektif, aplikasi dapat terus berjalan bahkan saat input user atau data yang dikirimkan tidak sesuai dengan yang diharapkan. Selain itu, pengecekan error juga dapat membantu meningkatkan keamanan aplikasi, karena dapat mencegah serangan siber yang menggunakan input yang tidak valid.

Contoh use case nyata dari pengecekan error adalah pada aplikasi perbankan online. Ketika pengguna mencoba melakukan transfer uang, aplikasi harus memeriksa apakah input pengguna (nomor rekening tujuan, jumlah uang, dll.) sesuai dengan yang diharapkan. Jika input tidak valid, aplikasi harus menampilkan pesan error yang jelas dan membantu pengguna memperbaiki inputnya.

Implementasi / Tutorial

Dalam tutorial ini, kita akan membuat sistem pengecekan error dengan menggunakan C. Kita akan menggunakan fungsi strtof untuk konversi string ke float.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Fungsi untuk memeriksa apakah input user adalah angka
int isAngka(const char *input) {
    // Membuat kopi string input
    char *kopi = strdup(input);

    // Membuat array karakter untuk memeriksa apakah input adalah angka
    char *angka[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};

    // Membuat loop untuk memeriksa apakah input adalah angka
    int i;
    for (i = 0; kopi[i] != '\0'; i++) {
        int found = 0;
        int j;
        for (j = 0; j < sizeof(angka) / sizeof(angka[0]); j++) {
            if (strcmp(&kop[i], angka[j]) == 0) {
                found = 1;
                break;
            }
        }
        if (!found) {
            free(kopi);
            return 0;
        }
    }

    free(kopi);
    return 1;
}

// Fungsi untuk memeriksa apakah input user dapat dikonversi ke float
int isFloat(const char *input) {
    // Membuat kopi string input
    char *kopi = strdup(input);

    // Membuat loop untuk memeriksa apakah input dapat dikonversi ke float
    int i;
    for (i = 0; kopi[i] != '\0'; i++) {
        if (kop[i] == '.') {
            // Jika input memiliki titik desimal, maka input dapat dikonversi ke float
            break;
        } else if (!isdigit(kopi[i])) {
            // Jika input tidak memiliki titik desimal dan karakter lain yang tidak merupakan angka, maka input tidak dapat dikonversi ke float
            free(kopi);
            return 0;
        }
    }

    free(kopi);
    return 1;
}

int main() {
    // Membuat input user
    char input[100];

    // Membuat loop untuk meminta input user
    while (1) {
        printf("Masukkan input Anda: ");
        fgets(input, sizeof(input), stdin);

        // Membuat pengecekan error untuk memastikan input user adalah angka
        if (!isAngka(input)) {
            printf("Maaf, input Anda tidak valid. Silakan mencoba lagi.\n");
            continue;
        }

        // Membuat pengecekan error untuk memastikan input user dapat dikonversi ke float
        if (!isFloat(input)) {
            printf("Maaf, input Anda tidak valid. Silakan mencoba lagi.\n");
            continue;
        }

        // Jika input user valid, maka konversi input user ke float
        float floatInput = strtof(input, NULL);

        // Membuat loop untuk meminta input user lainnya
        printf("Input Anda telah dikonversi ke float. Silakan mencoba lagi.\n");
    }

    return 0;
}

Dalam kode di atas, kita membuat dua fungsi: isAngka dan isFloat. Fungsi isAngka digunakan untuk memeriksa apakah input user adalah angka, sedangkan fungsi isFloat digunakan untuk memeriksa apakah input user dapat dikonversi ke float.

Dalam main function, kita membuat loop untuk meminta input user. Setiap kali input user diterima, kita melakukan pengecekan error menggunakan fungsi isAngka dan isFloat. Jika input user tidak valid, maka kita menampilkan pesan error dan meminta input user lagi. Jika input user valid, maka kita konversi input user ke float menggunakan fungsi strtof.

Tips dan Best Practices

  • Selalu lakukan pengecekan error: Pengecekan error sangat penting untuk menghindari error atau crash aplikasi.
  • Gunakan fungsi yang tepat: Pilih fungsi yang tepat untuk melakukan pengecekan error. Dalam contoh di atas, kita menggunakan fungsi isAngka dan isFloat.
  • Gunakan kopi string: Membuat kopi string dapat membantu kita memeriksa input user tanpa mengubah nilai asli input user.
  • Gunakan loop untuk memeriksa input: Loop dapat membantu kita memeriksa input user secara lebih efektif.
  • Selalu periksa hasil fungsi: Periksa hasil fungsi untuk memastikan bahwa input user valid.

Kesimpulan

Dalam artikel ini, kita membahas tentang cara membuat sistem pengecekan error dengan menggunakan C. Kita menggunakan fungsi strtof untuk konversi string ke float dan membuat dua fungsi: isAngka dan isFloat untuk memeriksa apakah input user adalah angka dan dapat dikonversi ke float. Dengan menggunakan pengecekan error yang efektif, kita dapat menghindari error atau crash aplikasi dan meningkatkan keamanan aplikasi.

c-programmingkeamanan-aplikasikesalahan-inputpengecekan-errorpengembangan-perangkat-lunak
Jery Hardianto
Jery Hardianto Software Engineer View all postsarrow_forward

Join the_Network

Connect your feed to our weekly transmissions on high-performance engineering and neural design.

Encrypted connection. No unauthorized broadcasts.