Rabu, 22 November 2023


MongoDB with JSON Data

I. Pendahuluan

    A. Apa itu MongoDB?

        MongoDB adalah salah satu sistem manajemen basis data (DBMS) NoSQL yang menyimpan data         dalam format BSON (Binary JSON).

    B. Kenapa MongoDB?

        MongoDB cocok untuk aplikasi dengan skema data yang dinamis.
        Mampu menangani jumlah data yang besar dengan kinerja tinggi.
        Fleksibilitas dalam menyimpan data dengan format JSON/BSON.
        Memungkinkan pengembang untuk membuat aplikasi tanpa batasan skema yang ketat.

II. Dasar-dasar JSON

    A. Apa itu JSON?

  • JSON (JavaScript Object Notation) adalah format pertukaran data ringan berbasis teks yang mudah         dibaca dan ditulis oleh manusia.

    B. Struktur JSON

  • Objek JSON: Kumpulan pasangan nama-nilai, diwakili oleh kurung kurawal {}.
  • Array JSON: Kumpulan nilai yang diurutkan, diwakili oleh kurung siku [].
  • Nilai: String, angka, objek, array, boolean, atau null.

III. Pengenalan MongoDB Data Model

    A. Collections dan Documents

  • Dokumen adalah unit data dasar dalam MongoDB, diwakili dalam format BSON.
  • Kumpulan dokumen disebut koleksi (collection).

B. BSON (Binary JSON)

  • BSON merupakan representasi biner dari JSON, memungkinkan penyimpanan dan manipulasi data dengan efisien.
  • Dukungan tipe data seperti string, angka, boolean, tanggal, dan jenis data lainnya.

IV. Interaksi dengan MongoDB Menggunakan Shell

        A. Mengakses MongoDB Shell

  • MongoDB Shell adalah antarmuka baris perintah untuk berinteraksi dengan server MongoDB.
  • Dapat diakses dengan menjalankan perintah mongo di terminal.

B. Operasi Dasar

  • Insert: db.collection.insertOne() atau db.collection.insertMany().
  • Query: db.collection.find().
  • Update: db.collection.updateOne() atau db.collection.updateMany().
  • Delete: db.collection.deleteOne() atau db.collection.deleteMany().
Example:
File: file data 
1. Import sample data json ini ke mongodb dengan nama database userdata


2. Lakukan query utk menampilkan data bahasa dan hitung berapa jumlah negaranya


3. Lakukan query utk menampilkan data user berdasarkan negara dan hitung berapa jumlah usernya
4. Manipulasi data
$gt

$gte

$lt


$lte



$ne

Getting started with Pandas


Getting started with Pandas

Pengenalan Pandas:
Apa itu Pandas?

Pandas merupakan perpustakaan manipulasi dan analisis data open-source yang kuat untuk Python.
Ini menyediakan struktur data untuk menyimpan dataset besar dengan efisien dan alat untuk bekerja dengannya.

Fitur Utama:

  1. DataFrame: Struktur data berlabel 2-dimensi.
  2. Series: Array berlabel 1-dimensi.
  3. Penanganan data yang hilang.
  4. Pengelompokan dan agregasi data.
  5. Penggabungan dan penggabungan dataset.
  6. Fungsionalitas deret waktu.

Pandas read csv

Menggunakan fungsi pd.read_csv('nama_file.csv') untuk membaca data dari file CSV ke dalam DataFrame.


Exploring The DataFrame

  • Melihat beberapa baris pertama data: df.head().
  • Melihat beberapa baris terakhir data: df.tail().
  • Menampilkan informasi tentang DataFrame: df.info().
  • Melihat statistik deskriptif: df.describe().


Series and selecting row

  • Mengakses kolom sebagai Series: df['nama_kolom'].
  • Memilih baris berdasarkan indeks: df.loc[indeks].





Selecting Individual Columns

  • Memilih satu kolom: df['nama_kolom'].
  • Memilih beberapa kolom: df[['kolom1', 'kolom2']].






Selecting multiple columns by name

  • Memilih beberapa kolom berdasarkan nama: df.loc[:, ['kolom1', 'kolom2']].






NumPy

Apa itu NumPy?

  1. NumPy singkatan dari Numerical Python, merupakan library kuat untuk operasi numerik di Python.
  2. Memberikan dukungan untuk array dan matriks multi-dimensi besar, bersama dengan fungsi matematika untuk operasi pada elemen-elemen tersebut.

Mengapa NumPy?

  1. Operasi array yang efisien: Array NumPy lebih efisien dibandingkan dengan daftar Python tradisional untuk operasi numerik.
  2. Broadcasting: NumPy memungkinkan operasi pada array dengan bentuk dan ukuran yang berbeda, membuat kode menjadi ringkas dan mudah dibaca.
  3. Fungsi matematika: NumPy menyediakan berbagai fungsi matematika untuk manipulasi dan perhitungan array.
Pengenalan NumPy



Array Shape
Pengertian:
Shape pada array NumPy mengindikasikan dimensi dan ukuran array.
Contoh: array 1D memiliki shape (n,), array 2D memiliki shape (m, n), dan seterusnya.


Data Type
Pengertian:
Data type pada array NumPy menunjukkan jenis nilai yang dapat disimpan dalam array.
NumPy mendukung tipe data seperti int, float, dan string.


Index Arrays
Pengertian:
Indexing digunakan untuk mengakses elemen tertentu dalam array.
Indeks dimulai dari 0, dan dapat negatif (dimulai dari elemen terakhir).


Slicing Arrays
Pengertian:
Slicing digunakan untuk mengambil sebagian dari array.
Dilakukan dengan menggunakan tanda :.


Slicing one dimension


Pada array satu dimensi, slicing satu dimensi dapat dilakukan untuk mengambil sebagian dari array.

Selasa, 07 November 2023

 MongoDB Dengan Python

MongoDB adalah salah satu database NoSQL yang sangat populer dan sering digunakan oleh para developer. MongoDB digunakan untuk menyimpan dan mengelola data dalam format dokumen. Python adalah salah satu bahasa pemrograman yang sangat populer digunakan untuk mengakses dan mengolah data di MongoDB.
Untuk menggunakan MongoDB dengan Python, kita perlu menginstal driver MongoDB pada sistem kita. Salah satu pilihan driver MongoDB untuk Python adalah PyMongo. PyMongo adalah driver MongoDB resmi untuk bahasa Python.
Berikut cara instalasinya:

Install Pymongo



Buka Jupyter & Create File 



Test Koneksi 



Create Db & Collection




(silahkan copy kodingan pada drive di atas dan copy paling bawah sendiri)

Menampilkan Collection 


Query 


Query


Query


Insert
One


Many


Update
One

Many

Delete


Pembanding

$eq




$gt



$gte


$lt




$lte

$ne



Logika

$and

$nor



$not


$nor






$exists









Rabu, 01 November 2023

UTS BIG DATA & BUSINESS INTELLIGENCE

Exercises - Jupyter Notebook


Number (Angka)
Python mendukung tipe data angka, termasuk integer (int) dan floating-point (float).
Variable Assignment (Penugasan Variabel)
Variabel digunakan untuk menyimpan data.

String (Teks)
String adalah tipe data yang digunakan untuk teks.

Printing (Cetak)
Menggunakan fungsi print() untuk mencetak data ke layar.

List (Daftar)
List adalah tipe data yang digunakan untuk menyimpan koleksi elemen.

Dictionaries (Kamus)
Dictionary adalah tipe data yang digunakan untuk menyimpan pasangan kunci-nilai.

Booleans (Boolean)
Tipe data boolean hanya memiliki dua nilai, True atau False.

Tuples (Tuple)
Tuple adalah tipe data yang mirip dengan list, tetapi bersifat tidak dapat diubah.

Sets (Himpunan)
Set adalah tipe data yang digunakan untuk menyimpan elemen unik tanpa urutan tertentu.

Comparison Operators (Operator Perbandingan)
Operator perbandingan digunakan untuk membandingkan nilai.

Logical Operators (Operator Logika)
Operator logika digunakan untuk menggabungkan kondisi.

If, Elif, Else (Percabangan)
Percabangan digunakan untuk mengambil keputusan berdasarkan kondisi.

For Loops (Perulangan For)
Perulangan for digunakan untuk mengulangi sejumlah elemen.

While Loops (Perulangan While)
Perulangan while digunakan untuk mengulangi kode selama kondisi tertentu terpenuhi.

Range() (Rentang)
Fungsi range() digunakan untuk menghasilkan rentang bilangan.

List Comprehension
List comprehension adalah cara singkat untuk membuat list.

Functions (Fungsi)
Fungsi digunakan untuk mengelompokkan kode yang dapat dipanggil ulang.

Lambda Expressions
Lambda expressions digunakan untuk membuat fungsi anonim.

Map dan filter
Fungsi map() dan filter() digunakan untuk memproses list.

Methods (Metode)
Metode adalah fungsi yang terkait dengan objek.

Exercises (UTS)

1. What is 7 to the power of 4?

 


2.  Split this string:

s = "Hi there Sam!"

into a list. 

 


3.  ['Hi', 'there', 'dad!']

 Given the variables:

planet = "Earth"
diameter = 12742

 Use .format() to print the following string:

The diameter of Earth is 12742 kilometers.

 
4. Given this nested list, use indexing to grab the word "hello" 

 
5. Given this nested dictionary grab the word "hello". Be prepared, this will be annoying/tricky
 
6.  What is the main difference between a tuple and a list? 
7. Create a function that grabs the email website domain from a string in the form: **
user@domain.com

So for example, passing "user@domain.com" would return: domain.com
8. Create a basic function that returns True if the word 'dog' is contained
 in the input string. Don't worry about edge cases like a punctuation 
being attached to the word dog, but do account for capitalization.
9. Create a function that counts the number of times the word "dog" occurs in a string. Again ignore edge cases. 
10. Use lambda expressions and the filter() function to filter out words 
from a list that don't start with the letter 's'. For example:**
seq = ['soup','dog','salad','cat','great']
Use lambda expressions and the filter() function to filter out words from a list that don't start with the letter 's'. For example:**
seq = ['soup','dog','salad','cat','great']

should be filtered down to:

['soup','salad']


11. Final Problem
You are driving a little too fast, and a police officer stops you. Write a function to return one of 3 possible results: "No ticket", "Small ticket", or "Big Ticket". If your speed is 60 or less, the result is "No Ticket". If speed is between 61 and 80 inclusive, the result is "Small Ticket". If speed is 81 or more, the result is "Big Ticket". Unless it is your birthday (encoded as a boolean value in the parameters of the function) -- on your birthday, your speed can be 5 higher in all cases. 
 
 

 
















install mutillidae

 SEKEDAP