Dasar-Dasar Python Untuk Seismologi Materi # 01 Pengenalan Python Zulfakriza
[email protected] 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) Dasar-dasar syntax dalam Python (Hari I, 13.00-16.15)
3
I I I I I 4
Numeric Container Flow Defining Functions Coding
Paket untuk Seismologi (Hari II, 08.00-09.30) I I I I
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: I I I I I
I
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: I I I I I
I
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
2
Python bahasa pemograman yang mudah untuk dipelajari (www.learnpythonthehardway.org) Tips untuk sukses belajar Python I I I
I I
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