Saturday, April 19, 2025

Membuat Aplikasi GUI Python dengan PyQt6


Membuat virtual environment

  • Dalam kasus ini akan menggunakan Anaconda, buka anaconda prompt
  • Cek virtual environment: conda env list
  • Buat virtual environment baru, misal dengan nama pyqt6_app: conda create --name pyqt6_app python=3.10
  • Aktifkan virtual environment: conda activate pyqt6_app
  • Jika ingin keluar dari VE: conda deactivate
  • Jika ingin menghapus VE: conda remove --name pyqt6_app --all


  • Install PyQt
  • install pyQt6: pip3 install pyqt6
  • Membuat Aplikasi Pertama
  • Buat folder kerja dengan nama pyqt6: mkdir pyqt6
  • Di folder pyt6, buat file dengan nama myapp.py, kemudian masukan kode:
  • from PyQt6.QtWidgets import QApplication, QWidget

  • #Only needed for access to command line arguments
  • import sys

  • #You need one (and only one) QApplication instance per application.
  • #Pass in sys.argv to allow command line arguments for your app.
  • #If you know you wan't use command line arguments Application([]) works too.
  • app = QApplication(sys.argv)

  • #Create a Qt widget, which will be our window.
  • window = QWidget()
  • window.show() #IMPORTANT!!! window will hidden by default.

  • #Start the event loop
  • app.exec()

  • #Your application won't reach here until you exit the event
  • #loop has stoped.
  • Jalankan aplikasi: python myapp.py

  • Maka akan dihasilkan window kosong seperti pada gambar diatas. Penjelasan dari kode adalah
  • from PyQt6.QtWidgets import QApplication, QWidget
  • Pertama kita import class PyQt6 yang dibutuhkan dalam aplikasi, yaitu import QApplication sebagai handler aplikasi, dan QWidget untuk tampilan widget kosong GUI dari modul QtWidgets.
  • Ada beberapa modul utama untuk Qt yang biasa digunakan yaitu QtWidgets, QtGUI, dan QtCore.
  • app = QApplication(sys.argv)
  • Selanjutnya buat instance dari QApplication, dengan passing perintah dalam sys.arg, yang berisi lisi perintah yang dikirim ke aplikasi. Jika kita tahu tidak akan kirim perintah maka bisa menusilkan app = QApplication([])
  • window = QWidget()
    window.show()
  • Selanjutnya membuat intstance dari QWidget menggunakan variabel yang bernama window. Dalam Qt top level widgets adalah window, dimana tidak punya parent dan tidak nested dengan widget atau layout yang lain. Perintah .show() digunakan untuk menampilkan window invisible. Kalau perintah .show() tidak diberikan maka aplikasi akan jalan namun tidak bisa di close.
  • app.exec()
  • Perintah untuk menjalankan event loop aplikasi.
  • Contoh lain kode sederhana dengan mengganti QtWidget dengan QPushButton untuk menampilkan button sederhana. Kodenya adalah seperti ini:
  • import sys

    from PyQt6.QtWidgets import QApplication, QPushButton

    app = QApplication(sys.argv)

    window = QPushButton("Tekan saya")
    window.show()

    app.exec()
  • Hasil dari kode diatas adalah tampilan window dengan satu buah button sederhana dengan tulisan "Tekan saya".

  • Membuat Tampilan dengan MainWindow
  • Dalam aplikasi kita tidak akan menggunakan hanya satu UI, maka diperlukan sebuah window yang dapat memuat beberapa kontor UI dalam tampilan window. Untuk masalah ini akan menggunakan QMainWindow merupakan sebuah widget yang dapat memuat fitur window lain seperti toolbar, menu, status bar, dockable widget dan lain sebagainya.
  • Untuk melakukan hal ini pada bagian atas kode program import QMainWindow.
  • #main_window.py
    #create by : wawanHN

    import sys

    from PyQt6.QtWidgets import QApplication, QMainWindow

    app = QApplication(sys.argv)

    window = QMainWindow()
    window.show() #Window secara default tidak ditampilkan

    app.exec()
  • Hasil dari kode diatas masih sama seperti pada Gambar 1, namun sebenarnya berbeda karena pada kode ini kita buat MainWindow yang akan bisa ditambahkan window widget-widget lain.
  • Kita coba MainWindow dengan menambahkan button.



  • Selanjutnya dengan MainWindow tambahkan button dan set ukuran window.
  • import sys
    from PyQt6.QtCore import QSize, Qt
    from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton

    # Subclass QMainWindow to customize your application's main window
    class MainWindow(QMainWindow):
    def __init__(self):
    super().__init__()
    self.setWindowTitle("My App")
    button = QPushButton("Klik saya!")
    self.setFixedSize(QSize(400, 300))

    # Set the central widget of the Window.
    self.setCentralWidget(button)

    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    app.exec()
  • Maka akan menghasilkan window dengan ukuran 400 x 300

  • Signals dan Slots
  • Sejauh ini dalam kode-kode sebelumnya sudah membuat aplikasi menampilkan button, namun button tresebut tidak melakukan apapun. Biasanya dalam sebuah aplikasi ketika kita menambahkan button pasti akan melakukan suatu aksi, misal jika button tersebut di klik, yang dalam Qt dihasilkan dari Signal dan Slots. Signals merupakan notifikasi yang disampaikan oleh widget ketika sesuatu dijalankan. Misal angka, text atau apaoun ketika misal button di klik. Dan Slots merupakan bagian dari Qt yang menerima signals, dalam Python semua fungsi atau method dapat dikategorikan sebagai slots. Dalam contoh kode ini akan dibuat windows yang berisi button yang melakukan sesuatu ketika di klik, yaitu menampilkan text di console.
  • # signals_slots1.py

  • import sys
  • from PyQt6.QtWidgets import (
  • QApplication,
  • QMainWindow,
  • QPushButton,
  • )

  • class MainWindow(QMainWindow):
  • def __init__(self):
  • super().__init__()

  • self.setWindowTitle("My App")

  • button = QPushButton("Tekan saya")
  • button.setCheckable(True)
  • button.clicked.connect(self.button_telah_diklik)

  • #Set the central widget of the window.
  • self.setCentralWidget(button)

  • def button_telah_diklik(self):
  • print("Telah di klik")

  • app = QApplication(sys.argv)

  • window = MainWindow()
  • window.show()

  • app.exec()
  • Gunakan cls untuk membersihkan layar
  • ketikan perintah: python signals_slots1.py


  • Dari hasil kode yang dibuat akan menampilkan window yang terdiri dari sebuah button yang jika di kllik maka akan menampilkan tulisan "Telah di klik" di bagian console atau command prompt.
  • Selanjutkan bagaimana kalau menambahkan fungsi atau method saat button diklik akan menampilkan teks "Telah diklik" dan akan memberikan informasi status apakah button dalam posisi checked True atau False setelah button di klik.
  • #signals_slots2.py
    #created by wawanHN

    import sys
    from PyQt6.QtWidgets import (
    QApplication,
    QMainWindow,
    QPushButton,
    )

    class MainWindow(QMainWindow):
    def __init__(self):
    super().__init__()

    self.setWindowTitle("Aplikasi Signals Slot 2")
    self.setFixedSize(300, 200)

    button = QPushButton("Klik saya")
    button.setCheckable(True)
    button.clicked.connect(self.button_telah_diklik)
    button.clicked.connect(self.button_telah_beralih)

    #Set ditengah window
    self.setCentralWidget(button)

    def button_telah_diklik(self):
    print("Telah di klik")

    def button_telah_beralih(self, checked):
    print("Status checked?" , checked)

    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    app.exec()
  • Hasil di kode program tersebut adalah, dengan sebelumnya keikan perintah python signals_slots2.py di command prompt
  • Atau dengan sedikit modifikasi kode program untuk mengasilkan seperti gambar diatas bisa juga dengan kode seperti ini
  • #signals_slots3.py
    #created by wawanHN

    import sys
    from PyQt6.QtWidgets import (
    QApplication,
    QMainWindow,
    QPushButton,
    )

    class MainWindow(QMainWindow):
    def __init__(self):
    super().__init__()

    self.button_is_checked = True

    self.setWindowTitle("Aplikasi Signals Slot 2")
    self.setFixedSize(300, 200)

    button = QPushButton("Klik saya")
    button.setCheckable(True)
    button.clicked.connect(self.button_telah_beralih)
    button.setChecked(self.button_is_checked)

    #Set ditengah window
    self.setCentralWidget(button)

    def button_telah_beralih(self, checked):
    self.button_is_checked = checked
    print("Status checked?" , checked)

    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    app.exec()
  • Atau dengan memodifikasi kode program dengan menambahkan fungsi release button
  • #signals_slots4.py
    #created by wawanHN

    import sys
    from PyQt6.QtWidgets import (
    QApplication,
    QMainWindow,
    QPushButton,
    )

    class MainWindow(QMainWindow):
    def __init__(self):
    super().__init__()

    self.button_is_checked = True

    self.setWindowTitle("Aplikasi Signals Slot 2")
    self.setFixedSize(300, 200)

    self.button = QPushButton("Klik saya")
    self.button.setCheckable(True)
    self.button.released.connect(
    self.button_telah_dilepas
    )
    self.button.setChecked(self.button_is_checked)

    #Set ditengah window
    self.setCentralWidget(self.button)

    def button_telah_dilepas(self):
    self.button_is_checked = self.button.isChecked()
    print(self.button_is_checked)

    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    app.exec()
  • Ketikan python signals_slots4.py

  • Akan menghasilkan

  • Selanjutnya akan melakukan fungsi sederhana untuk merubah judul window ketika button di klik
  • #signals_slots2.py
    #created by wawanHN

    import sys

    from PyQt6.QtWidgets import (
    QApplication,
    QMainWindow,
    QPushButton,
    )
    from random import choice

    window_titles = [
    "Aplikasiku",
    "Aplikasiku",
    "Masih Aplikasiku",
    "Masih Aplikasiku",
    "Apa yang terjadi",
    "Apa yang terjadi",
    "Sungguh Mengagetkan",
    "Sungguh Mengagetkan",
    "Terjadi Kesalahan",
    ]

    class MainWindow(QMainWindow):
    def __init__(self):
    super().__init__()

    self.n_times_clicked = 0

    self.setWindowTitle("Aplikasi Signals Slot 2")
    self.button = QPushButton("Klik saya")
    self.button.clicked.connect(self.button_telah_diklik)
    self.setFixedSize(300, 200)

    self.windowTitleChanged.connect(
    self.judul_window_telah_berubah
    )
    #Set ditengah window
    self.setCentralWidget(self.button)

    def button_telah_diklik(self):
    print("Telah di klik.")
    new_window_title = choice(window_titles)
    print("Seting Judul: %s" % new_window_title)
    self.setWindowTitle(new_window_title)

    def judul_window_telah_berubah(self, window_title):
    print("Judul window telah berubah: %s" %window_title)

    if window_title == "Terjadi Kesalahan":
    self.button.setDisabled(True)

    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    app.exec()
  • Signals dan Slots selain membutuhkan fungsi untuk melakukan sesuatu, bisa juga menghubungkan antara widget tanpa membuat slots. Seperti contoh
  • #signals_slots6.py
    #created by wawanHN

    import sys

    from PyQt6.QtWidgets import (
    QApplication,
    QMainWindow,
    QLabel,
    QLineEdit,
    QVBoxLayout,
    QWidget,
    )

    class MainWindow(QMainWindow):
    def __init__(self):
    super().__init__()

    self.n_times_clicked = 0

    self.setWindowTitle("My App")
    self.label = QLabel()

    self.input = QLineEdit()
    self.input.textChanged.connect(self.label.setText)

    self.setFixedSize(200, 200)

    layout = QVBoxLayout()
    layout.addWidget(self.input)
    layout.addWidget(self.label)

    container = QWidget()
    container.setLayout(layout)

    #Set ditengah window
    self.setCentralWidget(container)

    def button_telah_diklik(self):
    print("Telah di klik.")
    new_window_title = choice(window_titles)
    print("Seting Judul: %s" % new_window_title)
    self.setWindowTitle(new_window_title)

    def judul_window_telah_berubah(self, window_title):
    print("Judul window telah berubah: %s" %window_title)

    if window_title == "Terjadi Kesalahan":
    self.button.setDisabled(True)

    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    app.exec()
  • Ketika python signals_slots6.py, maka akan dihasilkan


Sekian dulu, tutorial dasar pembuatan GUI dengan Qt nanti dilanjut di bagian kedua. 38 @wawanhn

Referensi:
  • Create GUI Application with Python and Qt6 5th edition 
  • https://www.pythonguis.com/topics/pyqt6/

Monday, February 24, 2025

Link website Libgen untuk download ebook 2025

Link website Libgen untuk download ebook 2025

Library Genesis Mirror Websites.

List of working Library Genesis Mirror links, updated for 2024.




Situs web Library Genesis semakin populer di seluruh dunia, tetapi terakdang link situs yang tidak lagi berfungsi. Namun, ini bukan karena masalah teknis, tetapi semata-mata karena organisasi Library Genesis sering mengubah URL situs web utama mereka. Singkatnya, situs web tersebut masih ada, tetapi telah mengubah alamat utamanya.

Beberapa link libgen dapat dilihat di bawah ini.

https://libgen.onl/library-genesis/

https://libgen.li/index.php

Ebook Fundamentals of satellite remote sensing: an environmental approach, third edition

Ebook Fundamentals of satellite remote sensing: an environmental approach, third edition

Fundamentals of satellite remote sensing: an environmental approach, third edition



Fundamentals of Satellite Remote Sensing: An Environmental Approach, Edisi Ketiga, adalah panduan definitif untuk sistem penginderaan jauh yang berfokus pada alat dan metode penginderaan jauh berbasis satelit untuk observasi Bumi berbasis ruang (EO). Buku ini menyajikan keuntungan menggunakan data penginderaan jauh untuk mempelajari dan memantau planet ini, serta menekankan konsep-konsep yang memaksimalkan penggunaan data satelit. Buku ini dimulai dengan pengenalan proses dasar yang memastikan akuisisi citra berbasis ruang, dan memberikan gambaran umum tentang sistem observasi satelit utama. Selanjutnya, buku ini menjelaskan analisis citra visual dan digital, menyoroti berbagai teknik interpretasi, dan menguraikan aplikasinya pada ilmu pengetahuan dan manajemen. Bagian akhir buku ini mencakup integrasi penginderaan jauh dengan Sistem Informasi Geografis (GIS) untuk analisis lingkungan. Edisi terbaru ini ditulis untuk mencerminkan audiens global dan mencakup kemajuan terbaru yang dimasukkan sejak publikasi buku sebelumnya, yang berkaitan dengan akuisisi dan interpretasi data yang diindera dari jarak jauh.

Link: Official link

Mirror: Link 

Tesis: Deep Learning for Time-Series Analysis of Optical Satellite Imagery

 Deep Learning for Time-Series Analysis of Optical Satellite Imagery



Abstrak

Progres signifikan telah dicapai dalam pembelajaran mendalam (deep learning) untuk data pengamatan Bumi dalam beberapa waktu terakhir. Namun, aplikasi multi-temporal dari citra satelit seperti deteksi perubahan dan pertanian masih menghadapi hambatan dataset. Hal ini tidak hanya menghambat kinerja pelatihan tetapi juga mencegah protokol evaluasi yang terstandarisasi dan transparan. Dalam tesis kumulatif ini, saya mencakup empat makalah yang bertujuan untuk meningkatkan ketersediaan dataset dan memanfaatkan sumber daya ini untuk inovasi metodologis dalam deteksi perubahan. Kontribusi ini dibagi menjadi dua bagian. Yang pertama memperkenalkan DENETHOR dan DynamicEarthNet, dua dataset landmark dengan data kebenaran lapangan berkualitas tinggi untuk pemantauan pertanian dan deteksi perubahan. Eksperimen baseline pada kedua dataset menunjukkan perlunya metode yang disesuaikan karena metode saat ini tampaknya tidak mampu menggunakan resolusi temporal dan spasial tinggi data secara efektif.

Kedua, saya memperkenalkan SiROC dan SemiSiROC, dua kontribusi metodologis untuk deteksi perubahan yang efisien dalam pelabelan. SiROC adalah metode tanpa pengawasan yang didasarkan pada analisis lingkungan tetangga untuk deteksi perubahan biner dalam citra optik. SiROC tampil kompetitif pada empat dataset dari berbagai aplikasi deteksi perubahan. Dengan SemiSiROC, saya memanfaatkan ukuran kepercayaan yang cerdas yang terdapat di dalam SiROC untuk pelabelan semu dari adegan yang tidak berlabel. Ukuran kepercayaan ini memungkinkan prioritasisasi adegan yang relevan untuk pelatihan awal metode deteksi perubahan berbasis pembelajaran mendalam dengan label semu. Kemudian, label yang sebenarnya dapat disisihkan untuk penyempurnaan model lebih lanjut. Secara keseluruhan, hasil kami menunjukkan bahwa pipeline semi-supervised ini secara signifikan meningkatkan kinerja keseluruhan untuk semua metode yang kami eksplorasi. Temuan ini tahan terhadap berbagai studi ablation dan menekankan bagaimana keunggulan metode tradisional dan pembelajaran mendalam dapat digabungkan untuk memaksimalkan kinerja deteksi perubahan.

Tesis: Deep learning for satellite image compression

 Deep learning for satellite image compression



Generasi baru kamera yang dipasang di satelit dapat mengambil gambar dengan resolusi spasial dan spektral yang lebih tinggi. Peningkatan resolusi ini berarti lebih banyak data yang harus diproses di atas satelit dan dikirimkan ke bumi. Hal ini terutama terjadi karena beberapa tahun terakhir telah terjadi ledakan dalam penggunaan data pengamatan Bumi untuk berbagai aplikasi, mulai dari pertahanan dan pertanian hingga studi perubahan iklim dan keanekaragaman hayati. Oleh karena itu, transmisi volume data yang besar ini memerlukan solusi kompresi yang efisien yang mampu mempertahankan semua informasi yang ada dalam gambar dan yang diperlukan untuk tugas analisis.

Link thesis:

https://hal.science/tel-04355362v1/file/PhD_Manuscript_BACCHUS.pdf

mirror: link 

Ebook Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville

Ebook Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville

An MIT Press book

Ian Goodfellow and Yoshua Bengio and Aaron Courville



The Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning in particular. The online version of the book is now complete and will remain available online for free.

Ebook dapat dilihat di bawah ini

https://www.deeplearningbook.org/

Monday, May 13, 2024

Menggunakan RStudio Cloud (Posit Cloud) Bagian 1


Posit cloud sebelumnya dikenal sebagai RStudio Cloud merupakan salah satu tool online yang powerfull digunakan untuk pengolahan data sains via browser dengan kemudahan tanpa instalaasi dan konfigurasi sistem yang komplek. Dengan menggunakan tool ini dapat melakukan pengolahan data dengan menggunakan bahasa R atau Python.

- Oke, untuk menggunakan tool ini solahkan menuju link posit.cloud sehingga menampilkan halaman web Posit.Cloud. 


- Selanjutnya, buat akun untuk dapat membuat projek analisis data yang akan kita lakukan.
- Kemudian silahkan login dengan akun yang sudah dimiliki.
- Buat Project baru, dengan terdapat 3 pilihan yaitu New RStudi Project (untuk mengunakan bahasa R), New Jupyter Project (untuk bahasa Python), dan pilihan New Project from Git Repository (untuk import project dari Github).


@wawanhn





Sunday, November 5, 2023

Download Ebook Practical Statistics for Data Scientists

Download Ebook Practical Statistics for Data Scientists



In the rapidly evolving landscape of data science, the significance of statistics cannot be overstated. With the exponential growth of data, the role of statistics has become increasingly crucial in extracting meaningful insights. Data scientists rely on practical statistics to decipher complex patterns and trends, facilitating informed decision-making processes and predictive modeling. Understanding the foundations of statistics is paramount for any data scientist aiming to derive valuable information from vast datasets.


Link download disini

Monday, October 30, 2023

Monday, August 21, 2023

Google Earth Engine untuk Menampilkan SRTM dan Slope

Google Earth Engine untuk Menampilkan SRTM dan Slope


Dengan menggunakan Google Earth Engine kita dengan mudah untuk menampilkan data SRTM dan dari SRTM tersebut bisa menampilkan data Slope.

Oke langkah yang dilakukan adalah:

  • Definisikan citra yang akan ditampilkan, dalam hal ini SRTM 30 meter

//menampilkan citra srtm 30 m
var srtmIndramayu = ee.Image('USGS/SRTMGL1_003');

  • Definisikan variabel slope dari srtm 30 meter yang sudah didefinisikan

//membuat tampilan slope
var slope = ee.Terrain.slope(srtmIndramayu);

  • Memotong tampilan/clip dengan daerah yang diinginkan, misal dalam hal ini saya sebelumnya import data di asset untuk batas Kabupaten Indramayu

var clipSRTM = srtmIndramayu.clip(table);
var clipSlope= slope.clip(table);

  • Sesuaikan tampilan tengah dari peta yang akan ditampilkan dan skalanya

Map.setCenter(108.04636604969731, -6.531038850703211, 10);

  • Definisikan parameter untuk tampilan peta termasuk palette warna, dan nilai min dan max

var imageVisParam1 = {
'min': -2,
'max': 3128,
'opacity': 1,
'palette': ['3916ff', '10bdff', '10fff4', '14ff87', 'baff12', 'fbff12', 'ffc114', 'ff4218'],
};

  •  Tampilkan peta srtm dan slope

Map.addLayer(clipSRTM, imageVisParam1,'SRTM 30');

Map.addLayer(clipSlope, {}, 'Slope');

  • Kode keseluruhan

//menampilkan citra srtm 30 m
var srtmIndramayu = ee.Image('USGS/SRTMGL1_003');
//slope                                     
var slope = ee.Terrain.slope(srtmIndramayu);
                                            
var clipSRTM = srtmIndramayu.clip(table);   
                                            
var clipSlope= slope.clip(table);           
                                            
var imageVisParam1 = {                      
   'min': -2,                               
   'max': 3128,                             
   'opacity': 1,                            
   'palette': ['3916ff', '10bdff', '10fff4',
       '14ff87', 'baff12', 'fbff12',        
       'ffc114', 'ff4218'],                 
  };                                        
                                            
Map.setCenter(108.04636604969731, -6.531038850703211, 10);
Map.addLayer(clipSRTM, imageVisParam1,'SRTM 30');
Map.addLayer(clipSlope, {}, 'Slope');


Terima kasih semoga bermanfaat. @wawanhn



Thursday, August 17, 2023

Mengenal Google Earth Engine

Mengenal Google Earth Engine

 

Google Earth Engine: Platform Analisis Geospasial berbasis Cloud 

Google Earth Engine adalah inovasi terkini dalam analisis data geospasial yang memberikan akses tak terbatas kepada peneliti, ilmuwan atau penguna lain untuk menjelajahi dan menganalisis fenomena bumi dalam skala global. Dengan memadukan kumpulan data citra satelit dan teknologi komputasi awan yang canggih, platform ini memberikan fasilitas untuk melakukan analisis mendalam tentang perubahan lingkungan, dinamika lahan, pemantauan iklim, keanekaragaman hayati, serta aspek topografi.

Melalui Google Earth Engine, praktisi dan akademisi memiliki akses terhadap beragam sumber data geospasial yang meliputi perekaman citra satelit dari berbagai sumber seperti Landsat, Sentinel, dan MODIS, Chirps. Dengan perangkat lunak ini, para pengguna mampu menjalankan berbagai analisis, mulai dari pemetaan perubahan spasial seiring waktu, hingga pemodelan dinamika lingkungan.

Keunggulan utama Google Earth Engine terletak pada kemampuannya untuk memproses data dalam skala global dengan kecepatan tinggi, mengeliminasi kebutuhan akan infrastruktur komputasi yang mahal. Ini menjadi alat yang sangat berharga bagi studi ilmiah dalam berbagai bidang, seperti geografi, ekologi, pengelolaan sumber daya alam, dan ilmu sosial.

Dalam konteks akademis, Google Earth Engine telah membuka jendela baru untuk penelitian yang lebih dalam dan luas. Pengguna dapat melakukan analisis spasial yang kompleks, membuat pemodelan prediktif yang tepat waktu, serta menghasilkan visualisasi yang informatif. Hal ini memfasilitasi proses pengambilan keputusan yang lebih baik berdasarkan informasi geospasial yang kaya dan mendalam.

Dalam kesimpulannya, Google Earth Engine telah memberikan sumbangan penting bagi dunia akademis dan riset ilmiah. Dengan membuka akses ke data geospasial global dan alat analisis berkecepatan tinggi, platform ini telah mendorong eksplorasi mendalam tentang dinamika planet kita, serta memberikan dasar bagi penelitian lanjutan dalam berbagai disiplin ilmu.


Monday, July 24, 2023

Download Buku Panduan Siswa untuk Pelajaran IPA Kelas XI Kurukulum Merdeka Terbaru

Download Buku Panduan Siswa untuk Pelajaran IPA Kelas XI Kurukulum Merdeka Terbaru

Saat ini kurikulum merdeka di tinkat Sekolah Menengah Atas sudah mulai semarak dilakukan di berbagai sekolah, bukan hanya sekolah penggerak atau perintis. Dengan kurikulum merdeka siswa diharapkan mampu belajar mandiri dan berkreasi supaya menjadi lebih maju, kreatif dan bisa berbagi.

Bagi siswa yang memerlukan buku untuk bahan pembelajaran Kurikulum Merdeka bidang IPA kelas XI, saya bagikan link buku dalam bentuk digital sebagai berikut:

Terima kasih sudah berkunjung semoga mendapatkan manfaat dan semakin sukses. @wawanhn

Referensi: https://www.defantri.com/2023/06/buku-kurikulum-merdeka-sma-11.html