file input dan output

Operasi File pada bahasa C

·       Membuka dan Menutup File

File menurut wikipedia yaitu identitas dari data yang disimpan di dalam berkas sistem yang dapat diakses dan diatur oleh pengguna. Penggunaan dan pengoperasian file pasti selalu dibutuhkan terutama bagi seorang programmer untuk mengolah sebuah data pada file.

Terdapat 3 mode utama pada file yaitu r (read), w (write), dan a (append). Operasi utama pada file diantaranya membaca, menutup, menghapus, dan mengubah (truncate).

Berikut struktur dan cara mendeklarasikan file :

FILE *fp; //nama variabel file fp
fp = fopen("data.txt", w); //membuka file fp mode w

       statement;

fclose(fp); //menutup file

Mode pada file :

Mode
Fungsi
r
Membaca file ( file harus sudah ada )
w
Menulis file ( file yang sudah ada akan dihapus )
a
Membuka file yang sudah ada dan pada prosesnya dilakukan penambahan saat menulis ( jika file belum ada, otomatis akan dibuat )
r+
Membaca file, tetapi juga memiliki fungsi lain yaitu dapat menulis
w+
Menulis file tetapi juga dapat membaca (file yang sudah ada akan dihapus)
a+
Membuka file yang sudah ada dan prosesnya dilakukan penambahan saat menulis dan dapat membaca file

Membuat file :

Untuk membuat sebuah file yang kita perlukan hanyalah menggunakan fungsi FILE yang dilanjutkan pointer nama variabel file tersebut, FILE *nama variabel;. contohnya yaitu :

FILE *fp;

 Membuka file :


Untuk membuka sebuah file dibutuhkan sebuah fungsi fopen, directory serta nama file dan mode file,  nama variabel file = fopen("nama file", "mode file");. Contohnya :

fp = fopen("data.txt", "r");

Menulis data ke file :

Terdapat banyak fungsi untuk menulis sebuah file diantaranya ada fungsi fputs ada fprintf. Untuk menggunakan fputs deklarasinya yaitu fputs (namavariabel,namafile);. Sedangkan untuk menggunakan fprintf deklarasinya yaitu fprintf(namafile, "kontanta char", nama variabel);.

Contohnya :

fputs(data,fp);
fprintf(fp, "%s", data);

Contoh program : 

#include <stdio.h>

int main()
{
    char data[50];
    int i=0;
    FILE *fp;

    fp=fopen("data.txt", "w");

    for(i=0; i<5; i++)
    {
        printf("Masukkan data ke-%d : ", i+1); fflush(stdin); gets(data);
        fprintf(fp, "%s\n", data);
    }
    fclose(fp);

    printf("\n\nData berhasil ditulis");
    return 0;
}

Menulis File

Menulis File 1

Membaca data dari file :

Jika kita bisa menulis tentu saja kita juga perlu membaca, sama halnya menulis ada beberapa fungsi untuk membaca diantaranya adalah fgets yang hanya bisa membaca string dan fscanf bisa membaca string maupun bilangan. Untuk mendeklarasikan fgets yaitu fgets(namavariabel, jumlahstring, namafile);, sedangkan untuk fscanf yaitu fscanf(namafile, "konstanta char", &nama variabel);.

Contohnya :

fgets(data, 50, fp);
fscanf(fp,"%s",&data);

Contoh Programnya :
#include <stdio.h>

int main()
{
    char data[50];
    int i=1;
    FILE *fp;

    fp=fopen("data.txt", "r");

    while(fgets(data,50,fp)!=NULL) //membaca dan mengulang sampai data habis
    {
        printf("Data ke-%d : %s", i, data);
        i++;
    }
    fclose(fp);

    printf("\n\nData berhasil dibaca");
    return 0;
}

Membaca file

Menutup file :

Untuk menutup file kita hanya perlu fungsi fclose(namavariabel), contohnya : 

fclose(fp);

·       Standard File

File Standar adalah perpustakaan sinkronisasi dan enkripsi untuk aplikasi web dan asli. Ini memungkinkan pengembang untuk fokus membangun aplikasi yang menghadap ke pengguna, dan membiarkan sinkronisasi, server, dan enkripsi ujung ke ujung ke perpustakaan ini.
Untuk membangun aplikasi yang berkualitas, sebagian besar pengembang aplikasi saat ini harus mengimplementasikan tidak hanya klien front-end mereka sendiri, tetapi juga arsitektur backend untuk menangani penyimpanan model untuk skema spesifik mereka. Dengan tren yang berkembang dari aplikasi 'eksperimental' dan 'sekali pakai', menjadi tidak praktis untuk membangun infrastruktur server baru untuk setiap aplikasi.

File Standar adalah sistem klien dan server yang dapat digunakan kembali yang memungkinkan Anda untuk menyebarkan server backend "bodoh" yang tidak tahu atau peduli tentang skema data Anda, dan memungkinkan Anda untuk mengenkripsi data di sisi klien dan menyinkronkannya dengan server jarak jauh .
File Standar memanfaatkan kemajuan dalam kinerja dan kapasitas perangkat konsumen untuk mengaktifkan enkripsi ujung ke ujung pada setiap platform. Seseorang dapat membangun segala jenis aplikasi aman dan pribadi dengan server File Standar, seperti aplikasi catatan terenkripsi seperti Catatan Standar, atau segala jenis todo atau aplikasi data pribadi.

Protocol Specification
Version 0.0.3
For the 0.0.1 specification, see here
For the 0.0.2 specification, see here
Walaupun sebagian besar spesifikasi protokol sulit dibaca dan rumit, File Standar bertujuan untuk menjadi sistem sederhana yang dapat dipahami dan diterapkan oleh pengembang mana pun.

Server Implementations
Ruby Implementation
Go Implementation

Client Libraries
SFJS - JavaScript Library


Introduction

Dokumen ini menguraikan spesifikasi untuk komunikasi klien-server dari sistem File Standar. Setiap klien dapat berkomunikasi dengan server File Standar selama ia memahami persyaratan server.

Models

Protokol terdiri dari model di sisi server dan apa yang dikenal sebagai struktur di sisi klien.
Server Models
  • User
  • Item
Client Structures
  • Arbitrary
Model Item memiliki bidang konten. Bidang konten menyimpan objek yang dikodekan JSON yang dapat berupa apa saja yang dibutuhkan klien untuk beroperasi. Dalam model client-server ini, server harus diperlakukan bodoh dan tidak informasi.
Hubungan ditangani oleh klien dan bukan server, yang saat ini klien tidak memiliki masalah penanganan. Hal ini memungkinkan untuk dilakukan perbaikan pada model data pada tingkat klien, dan bukan pada tingkat server yang sulit diubah. Ini juga memungkinkan hubungan dienkripsi.

1. User
User model memiliki sifat-sifat berikut:

name
type
description
email
String
Email pengguna.
password
String
Kata sandi untuk pengguna ini..
pw_cost
String
Jumlah iterasi yang digunakan untuk KDF.
pw_nonce
String
Dihasilkan oleh klien selama pendaftaran.
version
String
Versi spesifikasi SF yang digunakan saat membuat akun pengguna ini

2. Item
Item memiliki sifat-sifat berikut :

name
type
description
uuid
String (or uuid for some databases)
Pengidentifikasi unik untuk model ini
.
content
Text
Struktur disandikan JSON dari item, dienkripsi
.
content_type
String
Jenis struktur yang terdapat di bidang konten
enc_item_key
Text
Kunci enkripsi terenkripsi secara lokal untuk item ini.
deleted
Bool
Apakah model sudah dihapus.
created_at
Date
Tanggal item ini dibuat.
updated_at
Date
Tanggal item ini diubah.

Client Structures
Client Structures disimpan di bidang konten model Item. Struktur klien dapat memiliki properti apa pun yang dipilih klien, serta yang berikut:

name
type
description
appData
Dictionary
Kamus berbasis domain yang isinya harus dilestarikan antar platform. appData [domain] berisi data yang disimpan klien di item.
references
Array
Array metadata dari Item uuids lain yang terkait dengan model ini dan masing-masing content_type. Lihat contoh di bawah ini.

sampel array referensi:

[
  {uuid: xxxx, content_type: "Tag"},
  {uuid: xxxxx, content_type: "Tag"},
]

·       Fungsi Input dan Output

Input adalah sesuatu data yang kita masukan ke dalam program.
Input biasanya diambil dari perangakat inputan seperti keyboard, mouse, kamera, microphone, dll.
Proses adalah langkah-langkah yang harus dilakukan program untuk menghasilkan output.
Output adalah informasi yang dihasilkan setelah dilakukan proses. Output biasanya ditampilkan ke layar komputer.
Pada bahasa pemrograman C++, terdapat beberapa fungsi dasar untuk menampilkan output dan mengambil input.

Fungsi Output pada C++

C++ memiliki empat fungsi dasar untuk menampilkan output:
  1. cout untuk menampilkan teks ke layar;
  2. cerr untuk menampilkan error;
  3. clog untuk menampilkan log;
  4. printf() untuk menampilkan output, fungsi ini dari C;
Kita akan fokus memabahas yang dua saja, yakni cout dan printf().
Soalnya cerr dan clog, cara pakainya sama seperti cout.
Bedanya sih pada konteks penggunaanya, yakni untuk error dan log.

1. Fungsi cout

Fungsi cout adalah fungsi standar pada C++ untuk menampilkan output ke layar.
Berikut ini struktur dasar fungsi cout:

Struktur dasar fungsi cout

Setelah simbol << kita bisa menuliskan teks yang akan ditampilkan ke layar.
Teks harus diapit dengan tanda petik dan untuk membuat baris baru bisa menggunakan endl atau simbol \n.
Pembuatan baris baru bersifat opsional, terserah kita mau ditambahkan atau tidak.
Contoh:

cout << "Namaku adalah ";
cout << "Petani kode";

Maka outputnya akan ditampilkan dalam satu baris:

Namaku adalah Petani Kode

Sedangkan kalau kita menggunakan endl atau \n.

cout << "Namaku adalah " << endl;
cout << "Petani kode";

Hasilnya akan ditampilkan dalam dua baris:

Namaku adalah
Petani kode

Apapun setelah simbol << akan ditampilkan ke layar. Jika kita ingin menampilkan variabel, kita bisa menulisnya seperti ini:

string nama = "Petani Kode";
cout << "Hello " << nama << endl;

Hasilnya:

Hello Petani Kode

Gampang ‘kan?
Mari kita coba berlatih.
Buatlah program bernama program_output.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main(){

  cout << "=========== PROGRAM OUTPUT ===========" << endl;
  cout << "Progarm ini adalah program untuk\n";
  cout << "Menampilkan output ke layar komputer.\n";
  cout << "Output sangat penting buat menampilkan\n";
  cout << "informasi kepada user.\n";
  cout << "======================================" << endl;

  cout << endl;
  cout << "Program ini dibuat oleh Dian" << endl;

  return 0;
}

Coba compile dan jalankan, maka hasilnya:

Program output di C++

2. Fungsi printf()

Fungsi printf() merupakan fungsi yang aslinya dari bahasa C, tapi bisa juga dipakai pada C++.
Fungsi printf() merupakan fungsi untuk menampilkan output ke layar komputer.
Fungsi ini terdapat pada library <stdio.h> dan juga <iostream>.
Berikut ini struktur dasar fungsi printf():

Fungsi printf di c++

Perhatikan:
"format" adalah sebuah teks (string) untuk ditampilkan. Lalu tanda ... akan berisi sebuah variabel atau nilai untuk ditampilkan berdasarkan format yang diberikan pada teks "format".
Mari kita lihat contohnya:

Buatlah sebuah program C++ bernama program_output_printf.cpp, lalu isi dengan kode berikut.

#include <iostream>
using namespace std;
 
int main(){
    printf("Hello, ini adalah teks output\n");
    printf("Nama saya %s\n", "Dian");
    printf("Usia saya %d\n", 20);
    return 0;
}

Hasilnya:

Output program C++

Ada beberapa hal yang perlu di perhatikan…
Pada fungsi printf() kita menggunakan simbol %s%d, dan \n untuk format teks.
Mari kita bahas arti dari simbol tersebut:
  • %s adalah simbol untuk menampilkan nilai string;
  • %d adalah simbol untuk menampilkan nilai angka atau bilangan desimal;
  • \n adalah simbol untuk membuat baris baru.
Selain tiga simbol tersebut, masih banyak lagi simbol yang lain.

Simbol
Arti atau Fungsi
%c
untuk menampilkan karakter
%s
untuk menampilkan teks (string)
%d%i
untuk menampilkan bilangan desimal
%f
untuk menampilkan bilangan pecahan
%o
untuk menampilkan bilangan oktal
%x
untuk menampilkan bilangan heksadesimal
\t
untuk membuat tabs

Fungsi Input pada C++


Sementara untuk mengambil input, C++ memiliki fungsi cin dan bisa juga menggunakan scanf() dari bahasa C.

1. Fungsi cin

Fungsi cin (c input) adalah fungsi untuk mengambil input dari keyboard.
Berikut ini bentuk dasar fungsi cin:

Fungsi cin pada C++

Fungsi cin membutuhkan variabel untuk menyimpan data yang diinputkan.
Intinya variabel berfungsi untuk meyimpan data saat program berjalan.
Mari kita coba menggunakan fungsi cin.
Buatlah program baru bernama program_input.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;
 
int main(){
    string nama;
    cout << "Tuliskan nama: ";
    cin >> nama;
 
    cout << "Hi " << nama;
    cout << " elamat datang di club!" << endl;
 
    return 0;
}

Setelah itu, coba compile dan jalankan.
Maka hasilnya:

Program input di C++

2. Fungsi scanf()

Fungsi scanf() sebenarnya dari bahasa C, tapi bisa juga digunakan pada C++.
Fungsi scanf() adalah fungsi untuk mengambil input dari keyboard. Fungsi ini memiliki format seperti fungsi printf().

Fungsi scanf di bahasa c

Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil.
Misalnya mau mengambil angka, maka kita bisa pakai %d atau %i.
Mari kita lihat contohnya:

#include <iostream>
using namepsace std;
 
int main () {
    // membuat variabel
    char name[20], web_address[30];
 
    printf("Nama: ");
    scanf("%s", &name);
 
    printf("Alamat web: ");
    scanf("%s", &web_address);
 
    printf("\n------------------------------\n");
    printf("Nama yang diinputkan: %s\n", name);
    printf("Alamat Web yang diinputkan: %s\n", web_address);
   
    return 0;
}

Hasilnya:

Program input dengan scanf di C

Tapi saat kita menginputkan teks yang mengandung spasi, hasilnya akan dipecah menjadi dua seperti ini:

Input scanf mengandung spasi

Untuk mengatasi masalah ini, kita bisa ubah format yang digunakan pada scanf() menjadi seperti ini:

printf("Nama: ");
scanf("%[^\n]s", name);

Maka fungsi scanf() akan menerima spasi.
Dalam menggunakan scanf(), kita dianjurkan menggunakan simbol & sebelum nama variabel.

Contoh:
#include <stdio.h>
 
void main(){
 
    int a, b, c;
 
    printf("Inputkan nilai a: ");
    scanf("%i", &a);
 
    printf("Inputkan nilai b: ");
    scanf("%i", &b);
 
    c = a + b;
 
    printf("Hasil a + b: %i", c);
 
}

Simbol & berfungsi untuk mengambil alamat memori dari sebuah variabel.
Fungsi scanf() membutuhkan tempat untuk menyimpan nilai yang akan diinputkan.
Karena itu kita memberikan simbol & di depan nama variabel untuk menentukan alamat memori yang akan digunakan oleh scanf().



Sumber :

Komentar

Postingan populer dari blog ini

bahasa pemprograman c

Kabar 7 Hari Corona Melandai di Jakarta

uang,kekuasaan dan hukum di indonesia