Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog

Tutorial Lengkap: Membuat CLI Contact Manager Terhubung Google Sheets dengan Python

  • August 13, 2025
  • oleh Edusoft Center

Daftar Isi

  1. Pendahuluan
    1.1 Latar Belakang
    1.2 Kelebihan Menggunakan CLI + Google Sheets
  2. Persiapan Alat dan Lingkungan
    2.1 Instalasi Python
    2.2 Instalasi Library Python
  3. Desain Fitur Contact Manager
    3.1 Struktur Data Kontak
    3.2 Fitur Utama
  4. Setup Google Sheets dan Google Cloud API
    4.1 Membuat Spreadsheet di Google Sheets
    4.2 Membuat Project di Google Cloud
    4.3 Mengaktifkan Google Sheets API
    4.4 Membuat Service Account & Credentials
    4.5 Memberi Akses Spreadsheet ke Service Account
  5. Implementasi Kode Python
    5.1 Struktur Kode Program
    5.2 Penjelasan Fungsi-Fungsi
    5.3 Kode Lengkap CLI Contact Manager
  6. Pengujian dan Sinkronisasi
    6.1 Menjalankan Program
    6.2 Memastikan Data Tersinkron di Google Sheets
  7. Tips Penggunaan untuk Tim Sales / Networking
    7.1 Kolaborasi dengan Google Sheets
    7.2 Penggunaan Filter dan Sortir Data
    7.3 Integrasi dengan Dashboard
  8. Pengembangan Lanjutan
    8.1 Fitur Import/Export CSV
    8.2 Kategori Kontak
    8.3 Integrasi API dan Otomatisasi
  9. Kesimpulan

1. Pendahuluan

Di era digital, manajemen data kontak menjadi hal yang sangat penting, khususnya bagi tim sales, marketing, atau siapa pun yang aktif melakukan networking. Kontak berisi informasi berharga seperti nama, nomor telepon, dan email yang bisa digunakan untuk menjalin komunikasi dengan klien, partner bisnis, atau prospek.

Banyak orang menggunakan aplikasi seperti Google Contacts atau Microsoft Outlook untuk menyimpan data kontak. Namun, ada kalanya kita membutuhkan solusi yang lebih custom, fleksibel, dan mudah diintegrasikan dengan sistem lain. Salah satu solusi yang bisa digunakan adalah CLI Contact Manager berbasis Python yang terhubung langsung ke Google Sheets.

Dengan metode ini, kita bisa:

  • Mengelola kontak langsung dari Command Line Interface (CLI)
  • Menyimpan semua data kontak secara real-time ke Google Sheets
  • Berbagi data dengan tim secara online
  • Menghindari risiko kehilangan data karena tersimpan di cloud

Kelebihan Menggunakan CLI + Google Sheets

  1. Sederhana – Tidak perlu antarmuka grafis, cukup terminal.
  2. Cloud-based – Semua data tersimpan di Google Sheets.
  3. Kolaboratif – Tim bisa mengakses dan memperbarui data secara bersamaan.
  4. Mudah diintegrasikan – Google Sheets bisa dihubungkan ke CRM, dashboard, atau automation tools.

2. Persiapan Alat dan Lingkungan

Sebelum memulai, pastikan kamu sudah menyiapkan semua kebutuhan berikut.

2.1 Instalasi Python

Pastikan Python 3.8+ sudah terpasang di komputer.
Cek dengan:

bash
python --version

atau

bash
python3 --version

Jika belum terpasang, unduh dari https://www.python.org/downloads/.

2.2 Instalasi Library Python

Kita akan menggunakan beberapa library:

  • gspread → untuk berinteraksi dengan Google Sheets
  • oauth2client → untuk autentikasi API Google
  • tabulate → untuk menampilkan data kontak di CLI dengan tabel

Instal semua library:

bash
pip install gspread oauth2client tabulate

3. Desain Fitur Contact Manager

Agar terstruktur, kita tentukan dulu fitur apa saja yang akan dibuat.

3.1 Struktur Data

Setiap kontak akan disimpan dalam format:

Nama, Nomor Telepon, Email

Di Python, bisa disimpan dalam bentuk list of dict:

python
{
    "nama": "John Doe",
    "telepon": "08123456789",
    "email": "john@example.com"
}

3.2 Fitur Utama

  1. Tambah Kontak
  2. Lihat Semua Kontak
  3. Cari Kontak
  4. Edit Kontak
  5. Hapus Kontak
  6. Sinkronisasi ke Google Sheets
  7. Keluar Program

4. Setup Google Sheets dan Google Cloud API

Agar Python bisa terhubung ke Google Sheets, kita harus mengaktifkan Google Sheets API.

4.1 Buat Spreadsheet di Google Sheets

  1. Buka Google Sheets
  2. Buat spreadsheet baru bernama Kontak
  3. Isi baris pertama dengan kolom: Nama, Telepon, Email

4.2 Membuat Project di Google Cloud

  1. Buka Google Cloud Console.
  2. Login dengan akun Google.
  3. Klik Select Project → New Project.
  4. Beri nama misalnya ContactManager.
  5. Klik Create.

4.3 Mengaktifkan Google Sheets API

  1. Di dalam project, buka APIs & Services → Library.
  2. Cari Google Sheets API → klik Enable.
  3. Juga aktifkan Google Drive API → klik Enable.

4.4 Membuat Service Account & Credentials

Masuk ke APIs & Services → Credentials.

Klik Create Credentials → Service Account.

Isi nama, misalnya contact-manager-service.

Klik Create and Continue → beri role Editor.

Klik Done.

Buka service account yang dibuat → Keys → Add Key → Create New Key → JSON.

Simpan file JSON ini, misalnya credentials.json.

4.5 Beri Akses Spreadsheet ke Service Account

  1. Buka file credentials.json
  2. Salin email service account (...@....iam.gserviceaccount.com)
  3. Buka spreadsheet Kontak
  4. Klik Share → masukkan email tersebut → set sebagai Editor → Send

5. Implementasi Kode Python

Masukkan File json nya ke dalam folder pythonnya

lalu di tambahkan file main.py untuk menaruh kode python

Berikut adalah kode Python lengkap untuk CLI Contact Manager.

python
import gspread
from oauth2client.service_account import ServiceAccountCredentials
from tabulate import tabulate

# --- Konfigurasi Google Sheets ---
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("credentials.json", scope)
client = gspread.authorize(creds)

# Buka Google Sheet (buat manual di Google Drive, beri nama "Kontak")
sheet = client.open("Kontak").sheet1

# Ambil data awal dari sheet
kontak_list = []
data = sheet.get_all_records()
for row in data:
    kontak_list.append(row)

# --- Fungsi Program ---
def simpan_ke_sheets():
    sheet.clear()
    sheet.append_row(["Nama", "Telepon", "Email"])
    for kontak in kontak_list:
        sheet.append_row([kontak["Nama"], kontak["Telepon"], kontak["Email"]])
    print("✅ Data berhasil disinkronkan ke Google Sheets.")

def tambah_kontak():
    nama = input("Masukkan nama: ")
    telepon = input("Masukkan nomor telepon: ")
    email = input("Masukkan email: ")
    kontak_list.append({"Nama": nama, "Telepon": telepon, "Email": email})
    simpan_ke_sheets()

def lihat_kontak():
    if not kontak_list:
        print("📭 Tidak ada kontak.")
        return
    print(tabulate(kontak_list, headers="keys", tablefmt="grid"))

def cari_kontak():
    keyword = input("Masukkan nama atau nomor telepon: ").lower()
    hasil = [k for k in kontak_list if keyword in k["Nama"].lower() or keyword in k["Telepon"]]
    if hasil:
        print(tabulate(hasil, headers="keys", tablefmt="grid"))
    else:
        print("❌ Kontak tidak ditemukan.")

def edit_kontak():
    lihat_kontak()
    index = int(input("Masukkan nomor urut kontak yang ingin diedit (mulai dari 1): ")) - 1
    if 0 <= index < len(kontak_list):
        kontak_list[index]["Nama"] = input("Nama baru: ") or kontak_list[index]["Nama"]
        kontak_list[index]["Telepon"] = input("Telepon baru: ") or kontak_list[index]["Telepon"]
        kontak_list[index]["Email"] = input("Email baru: ") or kontak_list[index]["Email"]
        simpan_ke_sheets()
    else:
        print("❌ Nomor urut tidak valid.")

def hapus_kontak():
    lihat_kontak()
    index = int(input("Masukkan nomor urut kontak yang ingin dihapus (mulai dari 1): ")) - 1
    if 0 <= index < len(kontak_list):
        del kontak_list[index]
        simpan_ke_sheets()
        print("🗑️ Kontak berhasil dihapus.")
    else:
        print("❌ Nomor urut tidak valid.")

# --- Menu CLI ---
def menu():
    while True:
        print("\n=== CLI Contact Manager ===")
        print("1. Tambah Kontak")
        print("2. Lihat Semua Kontak")
        print("3. Cari Kontak")
        print("4. Edit Kontak")
        print("5. Hapus Kontak")
        print("6. Sinkronisasi ke Google Sheets")
        print("7. Keluar")
        
        pilihan = input("Pilih menu: ")
        if pilihan == "1":
            tambah_kontak()
        elif pilihan == "2":
            lihat_kontak()
        elif pilihan == "3":
            cari_kontak()
        elif pilihan == "4":
            edit_kontak()
        elif pilihan == "5":
            hapus_kontak()
        elif pilihan == "6":
            simpan_ke_sheets()
        elif pilihan == "7":
            print("👋 Keluar program.")
            break
        else:
            print("❌ Pilihan tidak valid.")

# Jalankan program
menu()

6. Pengujian dan Sinkronisasi

  1. Jalankan program:
bash
python contact_manager.py
  1. Tambahkan beberapa kontak.
  2. Lihat di Google Sheets → Data akan otomatis muncul.
  3. Coba edit dan hapus → Sinkron otomatis.

Hasilnya akan seperti ini :

7. Tips Penggunaan untuk Tim Sales / Networking

  • Gunakan Google Sheets yang sama untuk seluruh tim agar semua update terlihat real-time.
  • Tambahkan kolom tambahan di Google Sheets untuk status follow-up atau tanggal kontak terakhir.
  • Gunakan filter dan sort di Google Sheets untuk mempermudah pencarian.
  • Integrasikan Google Sheets dengan Google Data Studio untuk membuat dashboard interaktif.

8. Pengembangan Lanjutan

Fitur tambahan yang bisa dibuat:

  1. Import/Export CSV
  2. Pengelompokan Kontak berdasarkan Kategori
  3. Pengiriman Pesan WhatsApp Otomatis
  4. Integrasi API CRM
  5. Fitur Reminder Follow-up

9. Kesimpulan

Membuat CLI Contact Manager terhubung Google Sheets memberikan fleksibilitas tinggi dalam mengelola kontak. Dengan Python, kita bisa:

  • Menginput data dengan cepat lewat terminal
  • Menyimpan semua data secara cloud-based
  • Berbagi data secara real-time dengan tim
  • Mengembangkan fitur tambahan sesuai kebutuhan

Solusi ini cocok untuk tim sales, networking, atau siapa saja yang membutuhkan manajemen kontak sederhana tapi efektif.

Tags: #EdusoftCenter#KursusKomputerSoloaplikasi manajemen kontak pythonaplikasi python tanpa databasebelajar coding pythonbelajar python untuk pemulacara membuat aplikasi kontak pythoncontact manager pythonmanajemen kontak pythonmembuat aplikasi pythonproject python pemulapython CLIpython command line interfacepython module tabulatepython projectpython sederhanapython tabulatepython untuk manajemen datapython untuk pemulascript python sederhanatutorial python lengkap
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Basis Data: Pengertian, Konsep, Contoh, dan Langkah Praktis Menggunakan SQL
  • Di Balik Rekomendasi Aplikasi: Mengapa Teknologi Selalu Tahu Apa yang Kita Mau?
  • Membuat Aplikasi Otomatisasi Menggunakan Google Apps Script: Pendekatan Praktis untuk Data Analyst Pemula
  • Mengapa Data Analyst Pemula Lebih Butuh Cara Berpikir daripada Tools
  • Mengapa dan Bagaimana Cara Berkontribusi pada Proyek Open Source di Platform seperti GitHub?

Arsip

  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus mysql kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map

All Right Reserved

WhatsApp us