Dasar-Dasar Python Untuk Seismologi Materi # 01 Pengenalan Python Zulfakriza zulfakriza@students.itb.ac.id Training Peningkatan Kapasitas SDM Seismologi Teknik Phyton dan SAC Tahun 2014 22-23 September 2014 Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 1 / 27
Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 2 / 27
Ice Breaker Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 3 / 27
Materi Pelatihan 1 Pengantar Python (Hari I, 09.30-10.15) 2 Instalasi Python (Hari I, 10.30-12.00) 3 Dasar-dasar syntax dalam Python (Hari I, 13.00-16.15) Numeric Container Flow Defining Functions Coding 4 Paket untuk Seismologi (Hari II, 08.00-09.30) NumPy Matplotlib SciPy ObsPy Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 4 / 27
Overview 1 Pengantar 2 Beberapa bahasa pemograman ilmiah 3 Apa itu Python...? 4 Paket Python 5 Testimoni & Tips Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 5 / 27
Anda pasti bisa menebak profesi dalam gambar berikut!! Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 6 / 27
SEISMOLOGIST Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 7 / 27
Permainan seorang seismologist Mendapatkan data (Observasi dan Simulasi) Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 8 / 27
Permainan seorang seismologist Mendapatkan data (Observasi dan Simulasi) Proses data Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 8 / 27
Permainan seorang seismologist Mendapatkan data (Observasi dan Simulasi) Proses data Visualisasi hasil Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 8 / 27
Permainan seorang seismologist Mendapatkan data (Observasi dan Simulasi) Proses data Visualisasi hasil Menpublikasikan hasil berupa tulisan dan gambar dalam bentuk paper dan presentasi Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 8 / 27
Permainan seorang seismologist Mendapatkan data (Observasi dan Simulasi) Proses data Visualisasi hasil Menpublikasikan hasil berupa tulisan dan gambar dalam bentuk paper dan presentasi Kebutuhan pemahaman komputasi yang memadai Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 8 / 27
Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 9 / 27
Perkembangan Bahasa Pemograman 1980-1988 : Tahun BASIC Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 10 / 27
Perkembangan Bahasa Pemograman 1980-1988 : Tahun BASIC 1989-1993 : Tahun PASCAL (Termasuk FORTRAN) Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 10 / 27
Perkembangan Bahasa Pemograman 1980-1988 : Tahun BASIC 1989-1993 : Tahun PASCAL (Termasuk FORTRAN) 1994-1996 : Tahun C/C++ Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 10 / 27
Perkembangan Bahasa Pemograman 1980-1988 : Tahun BASIC 1989-1993 : Tahun PASCAL (Termasuk FORTRAN) 1994-1996 : Tahun C/C++ 1995-2006 : Tahun MATLAB (dengan C untuk cmex) Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 10 / 27
Perkembangan Bahasa Pemograman 1980-1988 : Tahun BASIC 1989-1993 : Tahun PASCAL (Termasuk FORTRAN) 1994-1996 : Tahun C/C++ 1995-2006 : Tahun MATLAB (dengan C untuk cmex) 2006 - sekarang : Tahun Python Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 10 / 27
Compiled languages Kelebihan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 11 / 27
Compiled languages Kelebihan: Sangat cepat Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 11 / 27
Compiled languages Kelebihan: Sangat cepat Cocok untuk kebutuhan komputasi yang berat Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 11 / 27
Compiled languages Kelebihan: Sangat cepat Cocok untuk kebutuhan komputasi yang berat Banyak code ilmiah yang sudah tersedia Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 11 / 27
Compiled languages Kelebihan: Sangat cepat Cocok untuk kebutuhan komputasi yang berat Banyak code ilmiah yang sudah tersedia Kekurangan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 11 / 27
Compiled languages Kelebihan: Sangat cepat Cocok untuk kebutuhan komputasi yang berat Banyak code ilmiah yang sudah tersedia Kekurangan: Tidak interaktif Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 11 / 27
Compiled languages Kelebihan: Sangat cepat Cocok untuk kebutuhan komputasi yang berat Banyak code ilmiah yang sudah tersedia Kekurangan: Tidak interaktif These are difficult languages for non computer scientists Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 11 / 27
Scripting languages Kelebihan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
Scripting languages Kelebihan: Memiliki library yang komplit dengan berbagai algoritma Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
Scripting languages Kelebihan: Memiliki library yang komplit dengan berbagai algoritma Dapat dieksekusi dengan cepat Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
Scripting languages Kelebihan: Memiliki library yang komplit dengan berbagai algoritma Dapat dieksekusi dengan cepat Banyak code ilmiah yang sudah tersedia Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
Scripting languages Kelebihan: Memiliki library yang komplit dengan berbagai algoritma Dapat dieksekusi dengan cepat Banyak code ilmiah yang sudah tersedia Sangat interaktif yang teritegrasi dengan editor Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
Scripting languages Kelebihan: Memiliki library yang komplit dengan berbagai algoritma Dapat dieksekusi dengan cepat Banyak code ilmiah yang sudah tersedia Sangat interaktif yang teritegrasi dengan editor Dukungan untuk kebutuhan komersial Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
Scripting languages Kelebihan: Memiliki library yang komplit dengan berbagai algoritma Dapat dieksekusi dengan cepat Banyak code ilmiah yang sudah tersedia Sangat interaktif yang teritegrasi dengan editor Dukungan untuk kebutuhan komersial Kekurangan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
Scripting languages Kelebihan: Memiliki library yang komplit dengan berbagai algoritma Dapat dieksekusi dengan cepat Banyak code ilmiah yang sudah tersedia Sangat interaktif yang teritegrasi dengan editor Dukungan untuk kebutuhan komersial Kekurangan: Tidak gratis Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 12 / 27
(Diambil dari Kitware, Inc. Google Research) Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 13 / 27
Scripting languages Kelebihan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 14 / 27
Scripting languages Kelebihan: Open-source, free, atau setidaknya lebih murah Matlab Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 14 / 27
Scripting languages Kelebihan: Open-source, free, atau setidaknya lebih murah Matlab Beberapa fitur bisa sangat advanced Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 14 / 27
Scripting languages Kelebihan: Open-source, free, atau setidaknya lebih murah Matlab Beberapa fitur bisa sangat advanced Kekurangan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 14 / 27
Scripting languages Kelebihan: Open-source, free, atau setidaknya lebih murah Matlab Beberapa fitur bisa sangat advanced Kekurangan: Library algoritma lebih sedikit dibandin Matlab Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 14 / 27
Scripting dan compiled languages Kelebihan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 15 / 27
Scripting dan compiled languages Kelebihan: Memiliki paket untuk komputasi ilmiah yang memadai (misalkan NumPy, SciPy, ObsPy dll) Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 15 / 27
Scripting dan compiled languages Kelebihan: Memiliki paket untuk komputasi ilmiah yang memadai (misalkan NumPy, SciPy, ObsPy dll) Mudah dalam menulis code secara terstruktur Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 15 / 27
Scripting dan compiled languages Kelebihan: Memiliki paket untuk komputasi ilmiah yang memadai (misalkan NumPy, SciPy, ObsPy dll) Mudah dalam menulis code secara terstruktur GRATIS dan open source, tersebar luas serta banyak digunakan oleh para seismologist Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 15 / 27
Scripting dan compiled languages Kelebihan: Memiliki paket untuk komputasi ilmiah yang memadai (misalkan NumPy, SciPy, ObsPy dll) Mudah dalam menulis code secara terstruktur GRATIS dan open source, tersebar luas serta banyak digunakan oleh para seismologist Kekurangan: Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 15 / 27
Scripting dan compiled languages Kelebihan: Memiliki paket untuk komputasi ilmiah yang memadai (misalkan NumPy, SciPy, ObsPy dll) Mudah dalam menulis code secara terstruktur GRATIS dan open source, tersebar luas serta banyak digunakan oleh para seismologist Kekurangan: Kurang interaktif seperti halnya Matlab Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 15 / 27
Scripting dan compiled languages Kelebihan: Memiliki paket untuk komputasi ilmiah yang memadai (misalkan NumPy, SciPy, ObsPy dll) Mudah dalam menulis code secara terstruktur GRATIS dan open source, tersebar luas serta banyak digunakan oleh para seismologist Kekurangan: Kurang interaktif seperti halnya Matlab Tidak semua algoritma dan software tersedia dalam tool box Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 15 / 27
Apa itu Python...? Bahasa pemograman seperti halnya C++, Fortran, Matlab dll Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 16 / 27
Apa itu Python...? Bahasa pemograman seperti halnya C++, Fortran, Matlab dll Beberapa hal spesifik dari Python adalah: Bahasa pemograman multi-platform OS (Linux, Windows, Mac) Perangkat yang FREE dibawah lisensi open-source Bahasa pemograman yang dapat diinterpretasi. Bahasa pemogramana yang mudah dipahami Bahasa pemograman yang bisa digunakan dalam banyak hal (mulai untuk web sampai pengolahan data ilmiah) Bisa dihubungkan dengan beberapa bahasa pemograman lain, seperti Fortran, C, GMT dan QGIS Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 16 / 27
Apa itu Python...? Bahasa pemograman seperti halnya C++, Fortran, Matlab dll Beberapa hal spesifik dari Python adalah: Bahasa pemograman multi-platform OS (Linux, Windows, Mac) Perangkat yang FREE dibawah lisensi open-source Bahasa pemograman yang dapat diinterpretasi. Bahasa pemogramana yang mudah dipahami Bahasa pemograman yang bisa digunakan dalam banyak hal (mulai untuk web sampai pengolahan data ilmiah) Bisa dihubungkan dengan beberapa bahasa pemograman lain, seperti Fortran, C, GMT dan QGIS Beberapa software komersial dibangun dengan menggunakan bahasa Python Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 16 / 27
Perintah Python Menggunakan Konsule atau Terminal Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 17 / 27
Contoh Code Python Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 18 / 27
Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 19 / 27
Contoh Code Python Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 20 / 27
Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 21 / 27
Contoh Code Python Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 22 / 27
Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 23 / 27
Paket Python Minimum paket yang harus ada Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 24 / 27
Testimoni & Tips 1 Python bahasa pemograman yang mudah untuk dipelajari (www.learnpythonthehardway.org) 2 Tips untuk sukses belajar Python Berlatih setiap hari Konsisten Jika ada masalah, maka cari informasi dari komunitas (gunakan google) Usahakan untuk menyelesaikan masalah secara mandiri Nikmati jika ada kesalahan, jangan patah semangat Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 25 / 27
Python lebih lengkap https://www.python.org/ http://www.learnpython.org/ http://learnpythonthehardway.org/book/ Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 26 / 27
Bersambung Ke Materi # 02 Zulfakriza (ITB) Python untuk Seismologi 22-23 September 2014 27 / 27