#include <SD.h>
//definisikan pin CS jika tidak di pasangkan ke pin 10
#define pin_cs 4

File fileku,root;
//fileku adalah nama variable file

void setup() {
  Serial.begin(9600); 
  //inisialisasi sd card ke untuk hasil pembacaan kedalam serial print
  if(!SD.begin(pin_cs))
  {
    Serial.println("Something error with SdCard");
    while(1); //mengindikasikan bahwa SD Card tampil 1x saja, harus cek Sd Card 
  }
  // mendeklarasikan pin CS
  buatFile();
cekIsiCard();
}

void loop() {
  int adc = analogRead(A0);
    isiFile(adc);
  delay(1000);
    bacaFile();
  delay(1000);

}

void isiFile(int nilaiadc)
{
  fileku = SD.open("test.txt", FILE_WRITE);
  if(fileku)
  {
    fileku.println(String("Nilai Resistansi = ")+(nilaiadc)+String(" Ohm"));
    fileku.close();
  }
  else
  {
    Serial.println("Gagal mengisi File");
    while(1);
  }
}

void bacaFile()
{
  fileku = SD.open("test.txt");
  if(fileku)
  {
    while(fileku.available()) //untuk membaca seluruh isi file
    {
    Serial.write(fileku.read());
    }
    fileku.close();
  }
  else
  {
    Serial.println("Gagal Membaca File");
    while(1);
  }
}

void cekIsiCard()
{
    root = SD.open("/");
  while(true){
  
  File cekfile = root.openNextFile();
  if(!cekfile)
  {
    break;
  }
  Serial.print(cekfile.name());
  Serial.print(" ");
  Serial.println(cekfile.size());
  cekfile.close();
  //untuk membuka seluruh file dalam SD card
  }
}

void buatFile()
{
  fileku = SD.open("test.txt",FILE_WRITE);
  if(fileku)
  {
    fileku.println("ini adalah isi file coba 123");
    fileku.close();
  }
  else
  {
    Serial.println("Gagal Membuat File");
    while (1);
  }
}