Modul VI – Simulasi Analisis Data Tunggal Data Praktikum Fisika

Contoh Hasil Analisis dan DIstribusi dengan Pyhton Google Collabs

ditulis oleh :

di

Simulasi analisis data tunggal pada data praktikum fisika merupakan langkah penting dalam memahami hasil eksperimen secara objektif dan terukur. Dengan memanfaatkan tools komputasi seperti Google Colab dan bahasa pemrograman Python, mahasiswa dapat mengolah dataset hasil pengukuran menjadi informasi statistik seperti mean, median, dan standar deviasi. Pendekatan ini tidak hanya meningkatkan akurasi analisis, tetapi juga melatih keterampilan berpikir algoritmik dan literasi data yang sangat dibutuhkan dalam pembelajaran fisika modern berbasis teknologi.

Simulasi Analisis Data Tunggal Data Praktikum Fisika

A. Tujuan Praktikum

Setelah mengikuti praktikum ini, mahasiswa diharapkan mampu:

  1. Menghubungkan dataset eksternal (file CSV) dengan Google Colab untuk keperluan analisis data.
  2. Menganalisis data tunggal hasil praktikum fisika menggunakan metode statistik (mean, median, dan standar deviasi) dengan bantuan Python.
  3. Menampilkan data dan hasil analisis dalam bentuk tabel maupun visualisasi grafik untuk mempermudah interpretasi.

B. Langkah Praktikum

1. Persiapan Data Set

Misalkan kita memiliki data set baik dalam Excel maupun spreadsheet, maka tugas kita adalah mengimpor data tersebut ke google spreadsheet.

Contoh data set yang digunakan dapat dilihat dalam link berikut :

  1. https://docs.google.com/spreadsheets/d/1W0P54ZSF7tPSGx2AkSQB_DZTEC1o1_JVUC4A5FnZZxQ/edit?gid=0#gid=0
  2. Nama File yang digunakan adalah “Data Set”

2. Otentikasi dan Instalasi Pustaka

Kita perlu menginstal pustaka gspread untuk berinteraksi dengan Google Sheets dan melakukan otentikasi agar Google Colab dapat mengakses file Google Drive/Sheets Anda.

# Instal pustaka gspread (jika belum terinstal)
!pip install gspread

import pandas as pd
import gspread
from google.colab import auth
from google.auth import default
# Otentikasi ke Google# Anda akan diminta untuk login ke akun Google Anda.
auth.authenticate_user()

# Dapatkan kredensial dari sesi autentikasi pengguna
creds, _ = default()

# Otorisasi gspread untuk mengakses Google Sheets menggunakan kredensial pengguna
gc = gspread.authorize(creds)

2. Muat Data dari Google Spreadsheet

Masukkan URL Google Spreadsheet Anda dan nama sheet yang ingin dimuat. Pastikan Google Spreadsheet Anda diatur agar dapat diakses oleh “siapa saja yang memiliki tautan” (Anyone with the link) atau dibagikan ke akun layanan Colab (email yang muncul setelah otentikasi).

# @title Masukkan URL Google Spreadsheet dan Nama Sheet Anda
google_sheet_url ="https://docs.google.com/spreadsheets/d/1W0P54ZSF7tPSGx2AkSQB_DZTEC1o1_JVUC4A5FnZZxQ/edit?gid=0#gid=0" # @param {type:"string"}
sheet_name = "Sheet1" # @param {type:"string"}

if not google_sheet_url or not sheet_name:    
   print("Error: Mohon masukkan URL Google Spreadsheet dan nama sheet.")
else:    
   try:        
  
   # Buka spreadsheet berdasarkan URL        
   spreadsheet = gc.open_by_url(google_sheet_url)        

   # Tampilkan semua nama sheet yang tersedia        
   print("\n--- Daftar Sheet yang Tersedia ---")        
   available_sheets = [ws.title for ws in spreadsheet.worksheets()]        
   for i, name in enumerate(available_sheets):            
      print(f"{i+1}. {name}")        
   print("----------------------------------")        

   # Pilih worksheet berdasarkan nama
   worksheet = spreadsheet.worksheet(sheet_name)

   # Dapatkan semua data sebagai list of lists
   data = worksheet.get_all_values()

    # Asumsi: Tidak ada baris header, semua baris adalah data. 
    # Kolom akan diindeks secara numerik (0, 1, 2, ...)
   df = pd.DataFrame(data)        

    print(f"Data berhasil dimuat dari sheet '{sheet_name}'.")        
    print(f"Jumlah baris: {len(df)}, Jumlah kolom: {len(df.columns)}")    

except gspread.exceptions.SpreadsheetNotFound:        
    print(f"Error: Spreadsheet tidak ditemukan di URL '{google_sheet_url}'. Mohon periksa URLnya.")    
except gspread.exceptions.WorksheetNotFound:        
   print(f"Error: Sheet '{sheet_name}' tidak ditemukan di spreadsheet. Mohon periksa nama sheetnya.")    
except Exception as e:        
   print(f"Terjadi kesalahan: {e}")

3. Analisis Data Tunggal dengan Tendensi Pusat

Analisis Data untuk menghitung Mean, Modus, Median dan Standar Deviasi Data.

if 'df' in locals():    
   print("\n--- 5 Baris Pertama Data ---")    
   display(df.head())

   print("\n--- Statistik Deskriptif Keseluruhan Data Numerik ---")   

   # Buat salinan DataFrame untuk konversi numerik    
   df_numeric = df.copy()    
   for col in df_numeric.columns:       
      # Ganti koma dengan titik untuk konversi desimal        
      df_numeric[col] = df_numeric[col].astype(str).str.replace(',', '.', regex=False)        
      # Konversi ke numerik, memaksa kesalahan menjadi NaN        
      df_numeric[col] = pd.to_numeric(df_numeric[col], errors='coerce')    

   # Gabungkan semua kolom numerik menjadi satu seri data tunggal    
   # Menggunakan stack() untuk mengubah DataFrame menjadi Series    
   # Kemudian reset_index(drop=True) untuk mendapatkan Series numerik tanpa indeks multi-level    
   combined_data = df_numeric.stack().reset_index(drop=True)    

   # Pastikan data yang digabungkan adalah numerik dan hapus NaN yang mungkin muncul dari 'coerce'    
   combined_data = pd.to_numeric(combined_data, errors='coerce').dropna()    

   if not combined_data.empty:        
      print(f"Total jumlah data yang dianalisis: {len(combined_data)}")      
      print(f"Mean Keseluruhan: {combined_data.mean():.2f}")        
      print(f"Median Keseluruhan: {combined_data.median():.2f}")       

      # Modus bisa mengembalikan beberapa nilai        
      modes = combined_data.mode()        
      if not modes.empty:            
         print(f"Modus Keseluruhan: {', '.join(modes.round(2).astype(str))}")        
      else:            
         print("Modus Keseluruhan: Tidak ada modus unik")        

      print(f"Standard Deviasi Keseluruhan: {combined_data.std():.2f}")    
   else:        
      print("Tidak ada data numerik yang dapat dianalisis setelah konversi dan penggabungan.")

else:    
   print("DataFrame 'df' belum dibuat. Mohon jalankan sel sebelumnya untuk memuat data.")

4. Visualisasi Data

Visualisasikan Distribusi data dengan Diagram

if 'df' in locals():    
   print("\n--- 5 Baris Pertama Data ---")    
   display(df.head())    
   
   print("\n--- Informasi Umum Data (Tipe Data, Missing Values) ---")    
   df.info()    

   print("\n--- Statistik Deskriptif Data Numerik ---")    
   display(df.describe())

else:    
   print("DataFrame 'df' belum dibuat. Mohon jalankan sel sebelumnya untuk memuat data.")

3. Pertanyaan

Komentar

Index