Anda di halaman 1dari 15

APLIKASI MATHAPPU JIWA BERBASIS

PBO
Ditujukan untuk memenuhi salah satu syarat kelulusan Mata Kuliah
Pemograman Berorientasi Objek

Kelompok 5 - Kelas TK-45-05


1103213033 ANDREAS HASIHOLAN SINAGA

1103213072 MUHAMMAD HAFIZH REYHAN

1103210259 M. RIZKY FADILLAH

1103210223 SALMAN FARIS ROHIMAN

PROGRAM STUDI SISTEM KOMPUTER

FAKULTAS TEKNIK ELEKTRO

UNIVERSITAS TELKOM

2022
Kata Pengantar
Puji dan syukur kita panjatkan kepada Tuhan yang maha Esa
karena karunianya penulis dapat menyelesaikan Laporan Tugas
Akhir ini guna memenuhi salah satu satu syarat mata kuliah
Pemograman Berorientasi Objek dalam Program Studi Jurusan
Teknik Komputer Universitas Telkom.

Dengan segala kerendahan hati penulis menyadari betul


kekurangan dan kelemahan dalam penyajian Laporan Tugas Akhir
ini. Hal ini terjadi karena keterbatasan ilmu pengetahuan dan
kemampuan yang penulis miliki, namun demikian besar harapan
penulis agar hal yang kecil ini dapat bermanfaat dalam
perkembangan ilmu computer, khususnya dilingkungan Universitas
Telkom dan masyarakat pada umumnya. Penulis mengharapkan
saran dan kritikan serta masukan yang bermanfaat dari pembaca
Laporan Tugas Akhir ini guna menambah pengetahuan dan
wawasan dimasa yang akan datang. Dalam penyusunan Laporan
Tugas Akhir ini tidak sedikit penulis mengalami kesulitan namun
berkat bimbingan dari dosen dan bantuan dari berbagai pihak maka
kesulitan itu dapat diatasi.

Akhir kata penulis berharap semoga Laporan Tugas Akhir ini


bermanfaat bagi penulis khususnya dan pembaca pada umumnya
serta bagi semua pihak yang telah memberikan bantuan yang tidak
dapat penulis sebutkan satu persatu. Semoga Tuhan yang maha ESA
senantiasa memberikan balasan.

Bandung, 28 Desember 2022

Penulis
DAFTAR ISI

Kata Pengantar.......................................................................2
Bab I........................................................................................4
1.1. Latar Belakang.........................................................4
1.2. Tujuan Pembuatan Tugas........................................4
1.3. Perumusan Masalah................................................5
1.4. Batasan Masalah.....................................................5
Bab II.......................................................................................6
2.1. Teori Dasar..............................................................6
2.1.1. Struktur Data...................................................6
2.1.2. Fungsi, Class, dan Inherintance.......................7
2.1.3. Polymorphism dan Encapsulation...................8
2.1.4. MySQL.............................................................9
2.2. Teori Penunjang....................................................10
2.2.1. Tkinter...........................................................10
Bab I
Pendahuluan

1.1. Latar Belakang


Di zaman modern dan dinamis ini, kemajuan ilmu
pengetahuan dan teknologi telah mengantarkan kehidupan ke arah
yang modern dan serba mudah. Kemajuan ilmu pengetahuan dan
teknologi ini berperan besar pada peradaban dunia dalam proses
keberlangsungan hidup manusia. Segala aspek kehidupan saat ini
sudah sangat erat hubungannya dengan penerapan konsep dari ilmu
pengetahuan dan teknologi. Teknologi pada saat ini berperan besar
dalam segala aspek kehidupan manusia serta berkontribusi dalam
meningkatkan taraf kehidupan manusia.

Kata ”Matematika” berasal dari bahasa Yunani yaitu


”Mathema” atau mungkin juga ”Mathematikos” yang artinya hal-hal
yang dipelajari. Matematika secara umum didefinisikan sebagai
bidang ilmu yang mempelajari pola dari struktur, perubahan, dan
ruang. Maka secara informal dapat juga disebut sebagai ilmu
bilangan dan angka.

Dengan menggabungkan kedua aspek tersebut kami


membuat suatu aplikasi yang akan memudahkan masyarakat dalam
melakukan sesuatu. Pembuatan aplikasi ini bertujuan untuk
membantu pengguna dalam menyelesaikan soal-soal matematika.
Serta dapat mempersingkat waktu pengerjaan soal tersebut

Kami juga menyadari matematika merupakan hal yang


tidak disenangi kebanyakan siswa di Indonesia. Oleh karena itu
aplikasi ini merupakan salah satu cara kami untuk membantu para
siswa di Indonesia agar menghilangkan pemikiran tersebut. Yang
dimana matematika merupakan hal yang sangat diperlukan jika ingn
menjadi negara yang maju.
1.2. Tujuan
1. Menyediakan program sederhana yang dibutuhkan
siswa untuk memahami dan memecahkan soal
matematika
2. Dapat memudahkan pengguna yang harus
menghitung dengan cepat karena tampilan aplikasi
yang mudah dipahami dan dapat langsung memilih
rumus yang pengguna butuhkan.
3. Menyediakan bantuan matematika baik kepada siswa
yang dapat diakses oleh siswa

1.3. Rumusan Masalah


1. Bagaimana mengimplementasikan Python OOP dengan baik
ke program?
2. Bagaimana cara membuat pengguna dapat menggunakan
aplikasi dengan mudah.

1.4. Batasan Masalah


Adapun pembatasan masalah dalam program MATHAPPU JIWA
ini adalah sebagai berikut :

1. Rumus yang ada terbatas sesuai dengan informasi yang


kami punya
2. Komputer lain perlu install MYSQL agar dapat
menjalankan program
3. Fitur dalam program MATHAPPU JIWA adalah kalkulator
scientific , rumus – rumus matematika,dan history
pengguna saja dan mayoritas hanya di console.
4. Program MATHAPPU JIWA hanya menggunakan modul
python yang sudah di pelajari selama perkulihan
pemrograman berbasis object
Bab II
Dasar Teori

1.1. Teori Dasar

1.1.1.Struktur Data
Struktur Data dalam Python memiliki beberapa tipe yang
dapat digunakan, yaitu: List, Tuple, Set, Dictionary.
1.1.1.1. List
List merupakan struktur data yang teratur atau teroganisir dan
dapat diubah, list mengizinkan data rangkap atau duplikat.
Dalam python list menggunakan tanda kurung siku “[]
Contoh: variable=[“data-1”,”data-2”,”....”]
1.1.1.2. Tuple
Tuple merupakan struktur data yang mirip dengan List. Tuple
dapat berisikan berbagai macam tipe data, dan elemen-
elemennya memiliki index. Elemen-elemen pada Tuple
dipisahkan dengan tanda koma. Dalam Python, Tuple ditulis
menggunakan tanda kurung “()”.
1.1.1.3. Set
Set merupakan struktur data yang tidak teratur atau
terorganisir dan tidak memiliki indeks sehingga membuatnya
tidak dapat di akses dengan menggunakan indeks. Set tidak
mengizinkan anggota rangkap atau duplikat. Dalam Python
Set biasanya digunakan untuk melakukan operasi himpunan
matematika seperti gabungan, irisan, selisih, dll. Set ditulis
menggunakan tanda kurung kurawal ”{ }”.
1.1.1.4. Dictionary
Dictionary merupakan struktur data yang lebih kompleks dari
yang lainnya (list, tuple, set). Yang membedakan dictionary
dengan struktur data lain adalah elemen dalam dictionary
yang merupakan pasangan key dan value. Sedangkan untuk
struktur data lainnya hanyalah nilai tunggal.
1.1.2.Fungsi, Class, dan Inherintance
1.1.1.5. Fungsi
Fungsi adalah sebuah blok kode terorganisir yang dapat
digunakan kembali atau reusable untuk melakukan sebuah
aksi / tindakan. Fungsi terpisah dalam blok sendiri yang
berfungsi sebagai sub-program yang merupakan sebuah
program kecil untuk memproses sebagian dari pekerjaan
program utama.

1.1.1.6. Class
Pada bahasa pemrograman Python, kelas didefinisikan dengan
keyword “class”. Objek tertentu dapat dipresentasikan dengan
class, sehingga akan membantu proses dalam menyelesaikan
masalah-masalah kompleks dengan menyebutkan ciri fisik
dari suatu masalah. Default-nya kelas pada Python
mempunyai Access Specifier berbentuk Public.

1.1.1.7. Inherintance
Inheritance adalah sebuah proses dimana sebuah class
mengambil semua properti dan semua metode dari kelas lain.
Syarat penggunaan konsep inheritance pada Python adalah
terdapat superclass (kelas induk) dan subclass (kelas turunan).
Suatu kelas dapat diturunkan dari kelas yang sudah
didefinisikan sebelumnya. Jika kelas B diturunkan dari kelas
A maka B mewarisi sifat-sifat (daftar atribut dan metode)
yang dimiliki oleh kelas A. Maka setiap metode dan variabel
yang terdapat di superclass dapat di akses melalui subclass
tergantung dari akses metodenya.

1.1.3.Polymorphism dan Encapsulation


1.1.1.8. Polymorphism
Polymorphism berasal dari bahasa Yunani yang terdiri dari 2
kata, yaitu Poly (banyak) dan Morphis (satu bentuk). Dilihat
dari asal katanya, Polymorphism dapat diartikan sebagai
kemampuan dari suatu method yang di mana didalam method
ini terdapat banyak aksi yang berbeda-beda. Dalam PBO,
konsep ini memungkinkan user untuk melakukan suatu aksi
yang sama, tetapi proses yang berbeda.
Konsep Polymorphism dapat diterapkan pada dua metode
yaitu overloading dan overriding.
A. Metode Overriding
Metode Overriding adalah penggunaan metode dari class yang
lain dengan nama metode yang sama dengan induk class
tetapi memiliki isi program atau argumen yang berbeda
dengan kelas induknya.
B. Metode Overloading
Overloading adalah penggunaan metode di suatu class yang
memiliki metode yang sama tetapi memiliki isi program atau
argumen yang berbeda. Namun sayangnya Python sebagai
bahasa pemrograman yang dinamik secara default Python
tidak mendukung penggunaan metode overloading. Masalah
dari metode overloading pada Python adalah kita bisa saja
melakukan overload metode tapi kita hanya dapat
menggunkan metode yang paling akhir didefinisikan.
1.1.1.9. Kelas
Kelas Abstrak merupakan kelas yang didalamnya terdapat
satu atau lebih metode abstrak. Sebuah metode abstrak
merupkan metode yang dideklarasikan tapi tidak memiliki
implementasi apapun. Lebih lanjut lagi sebuah kelas abstrak
bisa dibilang merupakan sebuah blueprint untuk membuat
kelas yang lain. Sehingga instance dari sebuah kelas abstrak
bukan merupakan objek melainkan sebuah kelas lainnya.
Python secara default sebenarnya tidak menyediakan kelas
abstrak, namun terdapat modul yang dapat digunakan untuk
membuat kelas abstrak yaitu modul ABC atau abstract base
class.
1.1.1.10. Encapsulation
Konsep pembungkusan dalam OOP adalah sebuah proses atau
cara menyembunyikan informasi dari suatu kelas program
sehingga tidak dapat di interfensi oleh program lain. Dengan
demikian, kita dapat membuat program yang terintegrasi,
tanpa harus mendeklarasikan variabel-variabel yang bersifat
eksternal.
1.1.4.MySQL
PyMySQL adalah sebuah antarmuka untuk menghubungkan
ke server database MySQL dari Python. Ini
mengimplementasikan API Database Python v2.0 dan berisi
perpustakaan klien MySQL murni-Python. Tujuan PyMySQL
adalah penggantian drop-in untuk MySQLdb.

1.5. Teori Penunjang


1.1.5.Tkinter
Tkinter (Tk Interface) adalah suatu pustaka GUI (alat
penghubung pemakai grafis) widget standar pembuatan
Interface python untuk Tk GUI Toolkit. Tkinter merupakan
pustaka yang secara langsung di ‘bundle’ di dalam python dan
bekerja bedasarkan toolkit yang terdapat pada python itu
sendiri. Tkinter merupakan antarmuka grafisnya dari TCL
(Tool Command Language), yang memberikan kemudahan
bagi para programmer dalam pembuatan programnya.
Tkinter merupakan pustaka grafis yang dapat
memberikan kemudahan dalam pembuatan program berbasis
grafis. Setiap GUI Toolkit menyediakan widget, yaitu objek
user interface seperti button, scrollbar, listbox, checkbutton,
radiobutton, label text dan lain sebagainya. Widget
mengkapsulasi detil implementasi dan untuk setiap widget
telah di definisikan perilaku defaultya sehingga
mempermudah pemrograman GUI.
Bab III
Perancangan

1.1. Flowchart
1.2. Desain Aplikasi
https://www.figma.com/file/
tkS7GZyp7CD3aCBu7woVJE/Untitled?node-
id=2%3A2&t=FM7RhqFJzKxevM3S-1

Bab IV
Pengujian
1.3. Screenshot Tampilan Program
Bab V
Kesimpulan
Pada program kali ini kami menggunakan bahasa python
berbasis pbo,pembuatan aplikasi mathappu jiwa ini bertujuan untuk
menyediakan program sederhana yang dibutuhkan siswa untuk
memahami dan memecahkan soal matematika.

Pada aplikasi berikut terdapat 4 menu yang dapat


memudahkan siswa saat membuka aplikasi ini.Salah satunya saat
memilih menu quiz akan tersedia beberapa soal yang dapat siswa
jawab.Secara tidak langsung akan menambah ilmu bagi siswa yang
mengerjakannya.Dari apikasi yg kita buat dapat disimpulkan hal hal
sebagai berikut:

1. Aplikasi ini menyediakan program sederhana yang


dibutuhkan siswa untuk memahami dan memecahkan soal
matematika
2. Aplikasi ini dapat memudahkan pengguna yang harus
menghitung dengan cepat karena tampilan aplikasi yang
mudah dipahami dan dapat langsung memilih rumus yang
pengguna butuhkan.
3. Menyediakan bantuan matematika baik kepada siswa yang
dapat diakses oleh siswa
Daftar Pustaka
https://docplayer.info/54074816-Bab-iii-explorasi-3-1-pengenalan-
pustaka-tkinter-pada-python.html

Modul Pratikum Pemograman Berbasis Objek 2022

Anda mungkin juga menyukai