Tampilkan postingan dengan label python. Tampilkan semua postingan
Tampilkan postingan dengan label python. Tampilkan semua postingan

Rabu, 26 Mei 2021

Exceptions Pada Program Python

Exception tampil ketika suatu program memiliki error, dikarenakan kode yang salah atau masukan yang jelek.Ketika exception di python tampil maka program tersebut akan berhenti.

Exception yang berbeda-beda memiliki penyebab yang berbeda-beda pula.Exception yang biasa muncul yakni:

ImportError => sebuah import yang gagal

IndexError => array yang terindex tidak ada

NameError => variabel yang tidak diketahui digunakan

ValueError => Sebuah fungsi dipanggil karena nilai tipenya benar tetapi nilainya yang salah

TypeError => sebuah fungsi yang dipanggil menggunakan type nilai yang salah

SyntaxError => kode yang kita buat tidak bisa dijalankan.

Pengendalian Exception


Kita bisa mengendalikan exception yang terjadi sehingga program tidak langsung berhenti karena error. yakni dengan try dan except. Kode blok try berisi kode yang mungkin akan terjadi error.Sedangkan blok except akan berjalan ketika kode blok pada try terjadi error. Jika tidak terjadi suatu error maka block except tidak akan berjalan hanya blok try saja yang berjalan.

contohnya

try:

    num1 = 7

    num2 = 0

    print (num1/num2)

    print (selesai)

except ZeroDivisionError:

    print ("Error terjadi, dikarenakan angka dibagi 0")


exception juga bisa digunakan lebih dari satu karena kemungkinan error yang terjadi bisa dari berbagai macam faktor seperti kode berikut ini:

try:

    num = 6

    print (num/0)

    print ("berhitung selesai")

except (TypeError, ValueError):

    print ("TypeError atau ValueError terjadi")

except (ZeroDivisionError):

    print ("error karena dibagi dengan")


Kita juga bisa menggunakan except saja untuk kemungkinan error apaun yang akan terjadi. Seperti dalam penggunaannya di kode ini:

try:

   num1 =input ("nomer pertama : ")

   num2 =input ("nomer kedua : ")

   print (float (num1)*float (num2))

except:

   print ("salah memasukan nomer")

Kode diatas akan menampilkan error bila kita memasukan bukan sebuah angka untuk variabel num1 dan num2.

Bagaimana dengan penjelasan singkat tentang exception di python ini. Mudah dipahami atau terlalu sulit. Cobalah jalankan contoh-contoh yang saya berikan mungkin bisa membantu pemahaman tentang exceptions. Mana kode yang kamu buat? Tidakah akan terjadi error bila ada kesalahan masukan atau lainya?

Lihat Daftar Isi Pemrograman Python

Minggu, 23 Mei 2021

Boolean dan Perulangan,Struktur Kontrol, Fungsi, Modul dan Komentar Python

Pada artikel ini merupakan contoh penggunaan dan pemahaman sendiri dari beberapa dasar yang belum tertuliskan pada artikel sebelumnya.

Boolean dan Perbandingan

Boolean pada bahasa Python yakni True dan False. Dimana True adalah kondisi dari pernyataan yang benar sedangkan False kebalikanya. Ini bisa dilihat dari gambar berikut ini



Struktur kontrol

Pernyataan if, elif dan else

3 kata ini biasa digunakan pada perbandingan pernyataan. Seperti dalam penggunaan sebuah file kode ini

a=1

if(a > 0):

print("a merupakan bilangan positif")

elif(a < 0):

print("a merupakan bilangan negatif")

elif(a == 0):

print("a adalah 0")

else:

print("a bukan sebuah angka")

print("ini sebuah contoh penggunaan if, elif dan else")


Perulangan(Loop)

Untuk perulangan programmer biasanya menggunakan kode while atau loop. Perbedaan penggunaannya yakni bila loop digunakan untuk iterasi yang sudah tetap atau tak berubah sedangkan while untuk iterasi yang belum dan atau bisa dirubah.

contoh penggunaan perulangan


#while

x = 1


while x < 10:


  if x%2 == 0:


    print(str(x) + "adalah bilangan ganjil")


  else:


    print(str(x) + "adalah bilangan genap")




  x += 1 


#for

kata2 = ["hello", "kamu", "aku", "kita"]


for kata in kata2:


  print(kata + "!")

  

Fungsi

Ssbenarnya kita sudah menggunakan fungsi2 pada contoh sebelumnya yakni seperti:

print("hello world")

type(data)

str(data)

int(data)

range(1,10,2)

Nama sebuah fungsi berada di depan tanda kurung sedangkan argumen dari fungsi ada di dalam tanda kurung dengan pemisah tanda koma.


Modul

Modul merupakan bagian kode yang dibuat oleh sekumpulan orang atau seseorang untuk menyelesaikan tugas-tugas yang sering ada, seperti menghasilkan nomer acak, menampilkan operasi-operasi matimatika dan sebagainya. Contoh modul yang sering digunakn yakni random, math, dan yang lainya.


Komentar

komentar pada sebuah file atau block kode biasanya dilakukan agar mempermudah memaintainace dan membaca fungsi dan atau asal kode yang ada. Untuk membuat komentar pada program Python yakni:


#untuk satu baris memakai tanda pagar

"""

penggunaan komentar

dengan banyak baris

memakai tanda 3 kutip di awal dan akhir

"""


Bila kita sudah memahami dasar pemrograman. Maka akan lebih mudah untuk kita membuat, membaca juga memodifikasi sebuah kode yang biasanya kita ambil dari internet untuk menyelesaikan tugas kuliah atau kantor kita.Sekalipun kode tersebut jika dijalankan akan muncul error, karena kita paham akan kode tersebut maka bukan hal yang mustahil untuk memperbaikinya dan menggunakan ulang kodenya.

lihat Daftar Isi Pemrograman Python

Sabtu, 22 Mei 2021

Bahasa Pemrograman Python

Python merupakan bahasa level tinggi yang sangat kuat juga mudah untuk dipelajari. Python biasa digunakan untuk pembuatan perangkat lunak yang berfungsi sebagai datasains, kecerdasan buatan. Python bisa dijalankan diberbagai macam operasi sistem. Python memiliki banyak pustaka yang mendukung para developer mempercepat pembuatan perangkat lunak yang akan dibuat.

Pendahuluan

Pencipta bahasa python adalah Guido van Rossum. Beliau memberikan nama bahasa Python setelah menyaksikan pertunjukan BBC yakni "Monty Python's Flying Circus". Python juga memiliki interpreter bawaan yang bisa digunakan pada console atau command prompt dengan mengetik perintah python.Sebelumnya kita harus menginstall python di websitenya.

Pada artikel ini saya hanya akan membahas dasar-dasar program yang biasa ada pada sebuah program komputer. Sebelum membuat program dalam benfuk grafis, dan website. Persiapkan dulu kode editor kita untuk pembuatan program Python.

Angka-angka

Jenis angka yang ada pada python ada 4 yakni Integer, Long(python2), Float dan Complex.



Membuat Variabel  dan Konstanta

nama = "yusuf abdulloh"

angka = 789

desimal =4.9

boolean = True

kosong = none

catatan:Jangan mendeklarasikan variabel dengan menggunakan angka pada huruf pertama

Contoh Mencetak Variabel ,Tulisan dan Angka

print("Selamat datang")

print(nama)

print(10)

print((5+3)/2)

Mendeklarasikan String

String1 ='string dengan kutip satu'

String2 ="string dengan kutip dua"

String3 ="""string menggunakan

tiga kutip

untuk string"""

Masukan Pengguna

Membuat masukan pengguna dengan code input ()

Nama = input ("Siapa Namamu?")

print ("Hello "+Nama+"!")

kode diatas mendeklarasikan nama dari masukan pengguna dan mencetaknya di dalam baris selanjutnya.

Mendeklarasikan Array

ArrayKu =[1, 2, 3, 'abc', 'def']

Array digunakan untuk menyimpan data-data. Cara mendeklarasikan array yakni dengan menggunakan kurung persegi dengan koma untuk memisahkan data yang satu dengan yang lainya.

Tuple

Tuple merupakan sebuah array yang tidak bisa dirubah, dihapus ataupun ditambahkan. Cara mendeklarasikanya yakni dengan kurung atau tidak menggunakan kurung dan menggunakan koma untuk memisahkan tiapa datanya.

a_tuple=(1,2,3,"xy","z")

atau

a_tuple=1,2,3,"xy","z"

Dictionary

Dictionary merupakan sebuah pemetaan antara index dengan nilainya.Indexnya bisa menggunakan hampir semua tipe integer,string,tuple maupun objek.

Kota={'jkt':'jakarta','bdg':'bandung','pwk':'purwakarta'}

print(Kota['pwk'])

Block dan identasi (Overflow)

Kode blok ditetapkan menggunakan identasi, spasi atau tab pada ujung pertama dari baris. Kode blok merupakan perbedaan dari bahasa Pyton dengan yang lainya, sehingga kode blok menjadi alasan orang menyukai program Python atau sebaliknya.

Jangan pernah menggunakan campuran tab dan spasi pada suatu program karena ini bisa saja menjadikannya error. Pengalaman saya yang paling aman adalah menggunakan spasi untuk kode blok yakni spasi 3 atau 4 kali. Karena bila menggunakan tab tidak semua editor memiliki kesamaan jumlah spasi dalam satu tab.

Kemudian kita akan mengarah ke arah pengkodean Python dan Penggunaanya dalam sebuah Program KalKulator Python.

lihat Daftar Isi Pemrograman Python

Senin, 26 April 2021

Multiple Insert Django

Django memiliki sebuah kode sihir yakni formset untuk membuat formulir baik satu ataupun lebih dalam satu halaman. Sehingga kita tak terlalu membuat perulangan sendiri untuk membuat banyak form dalam sekali klik.

Tetapi sebelum memakai kode formset ini kita mesti membuat file form yang akan disimpan di kode formset kita.

Ubahlah file model.py menjadi

from django.db import models

class Formulir(models.Model):

judul = models.CharField(max_length= 50)

deskripsi = models.CharField(max_length=1000)

Mari kita buat file form.py yang berisi kode dibawah ini.

from django import forms

from .models import Formulir

class FormulirForm(forms.ModelForm):

class Meta:

model = Formulir

fields = '__all__'

Saya akan jelaskan kode diatas ini. 'model' merupakan model yang kita gunakan untuk menyimpan, memodifikasi dan menghapus data yang kita gunakan. sedangkan 'fields' merupakan nama coloum yang digunakan. Saya menggunakan kode '__all__' untuk menggunakan semua column yang ada.

Setelah itu mari kita rubah file view.py menjadi


from django.shortcuts import render

# mengimport FormulirForm

from .forms import FormulirForm

# mengimport formset_factory

from django.forms import formset_factory

def formset_view(request):

    context ={}

    # buat sebuah formset

    FormulirFormSet = formset_factory(FormulirForm) 

    formset = FormulirFormSet()

    # tambahkan array context untuk dirender

    context['formset']= formset 

    return render(request, "index.html", context)


Kemudian buat file index.html pada file templates yang memiliki isi


<h3>Formulir Dengan Formset</h3>

<form method="POST" enctype="multipart/form-data"> 

    {% csrf_token %}

    <table class='table'>

    {{ formset.as_table }}

    </table>

    <input type="submit" value="Masukan Formulir">

</form>



Bila berhasil maka akan tampil tabel formulirnya.

Cara Membuat Multiple Insert

Kita hanya cukup menambahkan kode 'extra=5' untuk menambahkan 5 formulir tersebut dengan mengubah baris ke 9 menjadi


FormulirFormSet = formset_factory(FormulirForm, extra=5) 


Karena kita menginput banyak data dalam sekali klik maka kita membutuhkan kode '{{ formset.management_data }}' pada template index.html.


Setelah tahapan ini selesai maka data yang kita masukan di dalam formulir akan kita simpan ke dalam database kita dengan mengganti file view kita:


from django.shortcuts import render

# mengimport FormulirForm

from .forms import FormulirForm

# mengimport formset_factory

from django.forms import formset_factory

def formset_view(request):

    context ={}

    # buat sebuah formset

    FormulirFormSet = formset_factory(FormulirForm,extra=5)

    if request.method == 'POST':

   formset = FormulirFormSet(request.POST, request.FILES or None)

if formset.is_valid():

for form in formset:

if form.is_valid():

form.save()

else:

formset = FormulirFormSet()

    # tambahkan array context untuk dirender

    context['formset']= formset 

    return render(request, "index.html", context)



Silahkan periksa di halaman admin django, bila semua tahapan ini benar maka data-data  akan tersimpan di database kita.

Sabtu, 10 Oktober 2020

Membuat login,logout dan session di django

Pada kesempatan ini saya akan membuat tutorial tentang pembuatan login, logout dan session pada django. Saya menggunakan django versi 3 untuk membuatnya sehingga tidak perlu mensetting apapun untuk mengerjakan pekerjaan ini.

Session sangat dibutuhkan ketika kita ingin membuat sebuah dsta yang disimpan tanpa dimasukan ke dalam database karena data ini akan berubah karena penggunanya tidak sama dalam mengisi data ini. Contoh penggunaan dalam keranjang belanja, draft pesan atau jumlah view. Sedangkan login dan logout digunakan untuk autentifikasi dan membuat penggunaan dalam jumlah banyak untuk mengolah data di website sesuai status pengguna sehingga tidak ada penyalahgunaan akun.

Kita tidak perlu membuat models user. Kita hanya perlu mengaksesnya di console dengan membuat perintah createsuperuser untuk membuat admin untuk mengolah data user.

Untuk melihat user yang sedang dijalankan kita bisa mencetaknya di console dengan printah print(request.user).

Cara membuat session pun cukup sederhana kita hanya perlu menginisiasi variabel request.session.

Saya rasa cukup untuk penjelasanya. Bila anda mengalami masalah anda bisa kirim pesan ke halaman facebook yang tertera di halaman kontak.Bila mendapat manfaat dari tulisan yang saya buat anda bisa berdonasi ke no yang ada di halaman kontak.

Dengan ditulisnya artikel ini untuk melengkapi referensi yang cukup untuk membuat website besar.Ini dimaksudkan agar pengguna cukup menggunakan bahasa python yang digunakan oleh framework django. Sehingga memungkinkan untuk menambahnya dengan bahasa javascript atau yang lainnya sehingga membuatnya lebih variatif dan flexible.

Masalah yang penulis hadapi yakni pengunggahan foto yang berupa shell script atau backdoor yang bisa dilakukan oleh cracker. Dengan saran agar server yang digunakan hanya bisa mengeksekusi file ekstensi python sehingga selain ekstensi file itu tak bisa berjalan, atau menggunakan informasi pengguna sehingga meminimalisir pengguna yang tidak bertanggung jawab.

Sekian terimakasih.

Minggu, 04 Oktober 2020

Upload File Django

Mengunggah suatu file merupakan hal yang penting di saat kita membuat dokumentasi atau membuat backup atau hal lainya.

Selain itu upload file ini bertujuan untuk mengirim file tersebut ke publik atau orang atau kelompok tertentu.

Disini kita akan membuat applikasi upload di django dengan melakukan beberapa langkah ini

1. Buat project dan applikasi di command line dengan perintah django-admin dan mengeksekusi manage.py .

2. Ubah settingan di file dan tambahkan settingan file media untuk menyimpan file yang diupload.

3. Konfigurasi file urls untuk mennamabahkan link ke upload.urls

4. Buat file urls pada applikasi dan konfigurasi ke views. Jangan lupa membuat settingan file media dan static.

5. Ubah file views di folder applikasi buat memasukan module form dan hanler.

6. Buat file form.py untuk membuat tampilan dan inputan di halaman web.

7. Buat file handler.py untuk menambahkan file ke folder media juga menyimpannya dengan nama yang anda inginkan.

8. Buat template untuk menampilkan halaman upload, sukses dan juga gagal.

9. Mengeksekusiperintah collectstatic dan migrate sebelum menjalankan server.

Langkah-langkah ini bisa digunakan pada hampir semua versi django untuk upload file sehingga pembaca tidak terlalu lama membuat applikasi ini.

Minggu, 20 September 2020

Membuat Pagination dan Carousel Pada Django

Pada website besar kita tentu memiliki database yang akan ditampilkan dalam bentuk halaman website tersebut. Terkadang dengan sangat banyaknya data yang ingin ditampilkan ini, menjadi masalah karena terlalu banyak. Disini kita memerlukan teknik pagination / membaginya dengan banyak halaman yang menampilkan bagian2 data tersebut sehingga tidak terlalu memanjang dan terlalu berat memuat data tersebut.

Disini kita akan menggunakan modul yanv ada di django ya yakni pagination. Berikut ini cara membuatnya:

1. Load modul di view dan tempatkan kode paginate_by = 4 #berarti halaman tidak lebih dari 4 data, sisanya ada dihalaman berikutnya.

2. Sisipkan kode htmlnya di bagian template yang ingin kita bagi perhalaman.

"

 Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}

<div>

<ul class="pagination">

        {% if page_obj.has_previous %}

            <li class='page-item'><a href="?page=1" class='page-link'>&laquo; first</a></li>

            <li class='page-item'><a href="?page={{ page_obj.previous_page_number }}" class='page-link'>previous</a></li>

        {% endif %}


        <li class='page-item'>

        <!--loop for page and change the element by active-->

        {% for i in page_obj.paginator.page_range %}

{% if page_obj.number == i %}

        <li class="page-item active"><a class="page-link">{{ i }} </a></li>

{% else %}

        <li class='page-item'><a href="?page={{ i }}" class="page-link">{{ i }}</a></li>

{% endif %}

    {% endfor %}

        </li>


        {% if page_obj.has_next %}

            <li class='page-item'><a href="?page={{ page_obj.next_page_number }}" class='page-link'>next</a></li>

            <li class='page-item'><a href="?page={{ page_obj.paginator.num_pages }}" class='page-link'>last &raquo;</a></li>

        {% endif %}

    </ul>

</div>

"

Memadukan kode diatas dengan meload boostrap4 anda akan melihat paging yang indah. Cukup mudah bukan, ini sungguh menghemat waktu kita dalam pembuatan kode pagination.

Saya menyarankan untuk membuat refresh data per sekian detik bila memang website anda sangat besar tanpa refresh halaman. Agar data terpantau dengan baik, caranya bisa dengan menggunakan jquery dan ajax. Dengan begitu anda tak perlu repot lagi memikirkan data yang terbaru.

Selasa, 18 Agustus 2020

Membuat Program-program Komputer Dengan Bahasa Python, C dan C++ di Handphone

Kali ini dalam artikel Membuat Program-program Komputer Dengan Bahasa Python, C dan C++ di Handphone saya memberi informasi kepada pembaca dimana kita bisa membuat program python,c dan c++. Dengan harapan agar mempermudah pembelajaran dalam ilmu pemrograman.

Pada saat ini saya dalam kondisi yang sangat sulit dimana komputer saya rusak dan harus diganti motherboardnya sehingga saya kesal ketika saya ingin sekali untuk mencoba source code yang ada dipikiran saya agar bisa menjalankan programnya dengan lebih baik. Kebetulan programa tersebut terbuat dari bahasa python. Yang ada di genggaman saya itu hanya hp android, saya iseng-iseng bertanya kepada forum linux dimana sebenarnya android itu terbuat dari kernel linux. Apakah saya bisa buat program tersebut dalam hp android saya. Dan benar saja semua bilang bisa. Saya langsung ke playstore dan mencari applikasi dengan keyword python. Nah ini yang saya cari-cari dalam hati saya Pydroid.


Pydroid memiliki kemampuan seperti editor python modern yang bisa menginstal pustaka yang dibutuhkan dalam pembuatan program. Pydroid juga memiliki pintasan membuka terminal dan memiliki yang memiliki keguanaan dalam pengkompilan program juga menjalankan program yang kita buat. Bila kita ingin mengkompile suatu program c dan c++ tinggal ketik gcc untuk file yang terbuat dari bahasa c sedang g++ untuk bahasa c++ lalu nama filenya. Kemudian jalankan dengan ./a.out. file a.out merupakan hasil kompil dari file yang kita eksekusi sehingga bisa dijalankan langsung.


Pydroid memang applikasi editor python. Tetapi python memang terbuat dari bahasa c jadi itu suatu keharusan bahwa hp android kita memiliki kompilernya. Sehingga kita tak perlu repot-repot menginstal gcc dan g++ untuk mengkompil program c dan c++. Ini memungkinkan kita membuat program dan menjalankannya. Sehingga kita tinggal memindahkan filenya ke komputer dan mengeksekusinya dimanapun.

Kesimpulannya yakni kita bisa membuat program komputer di hp android karena android juga menggunakan kernel seperti linux atau unix. Ini memungkinkan kita untuk membuat program komputer yang lainya pada hp android sehingga mempermudah kegiatan kita di saat tidak bisa menggunakan laptop atau komputer.

Untuk tambahan kita juga bisa membuat web dengan library djang* dan sebagainya dengan menambahkan library menggunakan pip command. Untuk melihat library yang sudah terpasang kita tinggal mengetik 'pip list' pada terminal sehingga akan muncul nama-nama library berikut versinya.


Rabu, 12 Desember 2018

Create Read Update Delete data PyMysql dan Tkinter part2

Seperti yang saya janjikan pada postingan sebelumnya saya akan melanjutkan fungsi Read, Update dan Delete database. Ini merupakan lanjutan kode yang telah dibuat selanjutnya.
Pertama kita buat Treeview untuk melihat data yang sudah tersimpan di mysql. Tambahkan kode ini sebelum baris terakhir kode sebelumnya. Kode Treeview:
tree = ttk.Treeview(win,columns=("Nim", "Nama", "Jenis Kelamin", "Tempat Lahir", "Tanggal Lahir", "Alamat", "Pekerjaan"), selectmode="extended", height=200) tree.heading('Nim', text="Nim", anchor=W) tree.heading('Nama', text="Nama", anchor=W) tree.heading('Jenis Kelamin', text="Jenis Kelamin", anchor=W) tree.heading('Tempat Lahir', text="Tempat Lahir", anchor=W) tree.heading('Tanggal Lahir', text="Tanggal Lahir", anchor=W) tree.heading('Alamat', text="Alamat", anchor=W) tree.heading('Pekerjaan', text="Pekerjaan", anchor=W) tree.column('#0', stretch=NO, minwidth=0, width=0) tree.column('#1', stretch=NO, minwidth=0, width=100) tree.column('#2', stretch=NO, minwidth=0, width=130) tree.column('#3', stretch=NO, minwidth=0, width=100) tree.column('#4', stretch=NO, minwidth=0, width=150) tree.column('#5', stretch=NO, minwidth=0, width=100) tree.column('#6', stretch=NO, minwidth=0, width=180) tree.grid(column=0,columnspan=6,row=9)
Lalu buat fungsi read dibawah fungsi database:
def read(): tree.delete(*tree.get_children()) database() cursor.execute("SELECT * FROM `Mahasiswa` ORDER BY `nama_mahasiswa` ASC") fetch = cursor.fetchall() for data in fetch: tree.insert('', 'end', values=(data[0], data[1], data[2], data[3], data[4], data[5], data[6])) cursor.close() conn.close()
Bila sudah maka tambahkan kode read() untuk mengeksekusi fungsi read, taruh sebelum baris terakhir lagi, untuk membaca data setelah applikasi terbuka.Untuk memuat ulang data setelah menambahkannya juga bisa ditambahkan fungsi ini pada baris terakhir. Selanjutnya kita buat fungsi clear() untuk membuat form kosong dari data yang sudah dieksekusi baik telah disuntung, dipilih atau ditambah. Ini merupakan kode fungsi clear:
def clear(): nim.set('') nama.set('') kelamin.set('') tempat.set('') tanggal.set('') alamat.set('') pekerjaan.set('') colNim.configure(state='enabled')
Selanjutnya Kita akan buat fungsi onSelected untuk memilih data dari Treeview ketika diklik dua kali. Ini merupakan fungsi onSelected:
def onSelected(event): global Nim; curItem = tree.focus() contents =(tree.item(curItem)) selecteditem = contents['values'] Nim = selecteditem[0] clear() nim.set(selecteditem[0]) nama.set(selecteditem[1]) kelamin.set(selecteditem[2]) tempat.set(selecteditem[3]) tanggal.set(selecteditem[4]) alamat.set(selecteditem[5]) pekerjaan.set(selecteditem[6]) colNim.configure(state="disabled")
Lalu tambahkan kode ini dibawah tree.grid untuk memberi membuat fungsi onSelected berjalan dengan baik.:
tree.bind('<Double-Button-1>', onSelected)
Untuk mebuat fungsi delete silahkan tambahkan kode ini:
def remove(): if not tree.selection(): sta.config(text="Please select an item first", foreground="red") else: result = tkMessageBox.askquestion('Formulir Mahasiswa', 'Benar ingin menghapusnya?', icon="warning") if result == 'yes': curItem = tree.focus() contents =(tree.item(curItem)) selecteditem = contents['values'] tree.delete(curItem) database() cursor.execute("DELETE FROM `Mahasiswa` WHERE `nim` = %d" % selecteditem[0]) conn.commit() cursor.close() conn.close() sta.config(text="Successfully deleted the data", foreground="black")
Dan fungsi update:
def update(): database() if nim.get() == '' or nim.get() == 0: sta.config(text="Can not entry nim", foreground="red") else: tree.delete(*tree.get_children()) cursor.execute("UPDATE `Mahasiswa` SET `nama_mahasiswa` = (%s), `jenis_kelamin` = (%s), `tempat_lahir` =(%s), `tanggal_lahir` = (%s), `alamat` = (%s), `pekerjaan` = (%s) WHERE `nim` = (%s)", (nama.get(),kelamin.get(),tempat.get(),tanggal.get(),alamat.get(),pekerjaan.get(), int(Nim))) conn.commit() read() clear() sta.config(text="Successfully updated the data", foreground="black")
Bila sudah tinggal buat tombol-tombolnya dengan command yang akan dieksekusi. .: Good Luck :.

Create Read Update Delete data PyMysql dan Tkinter

Pada kesempatan ini saya akan membuat applikasi dimana kita membuat applikasi dekstop (GUI) menggunakan Tkinter dan mengelola datanya ke dalam database mysql. Ini merupakan dokumentasi lanjutan pada tag Python. Saya merekomendasikan untuk pemula belajar dulu ke yang dasarnya dulu. Karena kode ini cukup kompleks. Bahan yang diiperlukan untuk membuat applikasi ini adalah:
  • PhpMyadmin(Server Mysql bisa Xampp/ Lampp dan sebagainya)
  • Python3
  • Tkinter
  • Pip(digunakan untuk menginstal PyMysql)
  • PyMysql
  • Geany atau Text Editor lainya
Saya tidak akan membahas tentang menginstall bahan-bahan diatas silahkan browsing saja. Saya memakai Python3 terbaru. Mari kita melanjutkan tahpan selanjutnya. Buatlah database kampus dan table mahasiswa dengan sql ini.
create database kampus; use kampus; CREATE TABLE `kampus`.`Mahasiswa` ( `nim` INT(10) NOT NULL PRIMARY KEY, `nama_mahasiswa` VARCHAR(60) NOT NULL , `jenis_kelamin` ENUM('laki-laki','perempuan') NOT NULL , `tempat_lahir` VARCHAR(100) NOT NULL , `tanggal_lahir` DATE NOT NULL , `alamat` VARCHAR(500) NOT NULL , `pekerjaan` VARCHAR(50) NOT NULL);
Bila sudah membuat database dan tabel di mysql.Mari kita buat form Mahasiswa dengan menggunakan geany. Buka text editor kalian lalu copy paste kode ini:
#import modules import tkinter as tk import pymysql as PyMysql import tkinter.messagebox as tkMessageBox from tkinter import ttk from tkinter import * win = tk.Tk() win.title('Form Mahasiswa') #variabel untuk koneksi database server_name = 'localhost' username = 'root' password = '' database_name = 'kampus' #buat fungsi-fungsi def database(): global conn, cursor, server_name, username, password, database_name conn = PyMysql.connect(server_name,username,password,database_name) cursor = conn.cursor() def entry(): database() cursor.execute("INSERT INTO Mahasiswa ( nim, nama_mahasiswa, jenis_kelamin, tempat_lahir, tanggal_lahir, alamat, pekerjaan) values ((%s),(%s),(%s),(%s),(%s),(%s),(%s))",(nim.get(),nama.get(),kelamin.get(),tempat.get(),tanggal.get(),alamat.get(),pekerjaan.get())); conn.commit() sta.configure(text = 'Status :Entry data success!') sta.configure(foreground = 'green') #buat variabel-variabel nim = tk.IntVar() nama = tk.StringVar() kelamin = tk.StringVar() tempat = tk.StringVar() tanggal = tk.StringVar() alamat = tk.StringVar() pekerjaan = tk.StringVar() nim.set('') #menginisiasi komponen-komponen labTittle = ttk.Label(win, font=(16), foreground='#0000FF', text='Formulir Mahasiswa') labNim = ttk.Label(win, text='NIM ') labNama = ttk.Label(win, text='Nama ') labJenisKel = ttk.Label(win, text='Jenis Kelamin ') labTempatLah = ttk.Label(win, text='Tempat Lahir ') labTanggaLah = ttk.Label(win, text='Tanggal Lahir ') labAlamat = ttk.Label(win, text='Alamat ') labPekerjaan = ttk.Label(win, text='Pekerjaan ') sta = ttk.Label(win, text='') #colom-colom masukan colNim = ttk.Entry(win, textvariable=nim, width=12) colNama = ttk.Entry(win, textvariable=nama, width=50) colTempat = ttk.Entry(win, textvariable=tempat, width=50) colTanggal = ttk.Entry(win, textvariable=tanggal, width=50) colAlamat = ttk.Entry(win, textvariable=alamat, width=50) #radiobutton dan combobox radLaki = ttk.Radiobutton(win,variable=kelamin, text='laki-laki', value='laki-laki') radPerempuan = ttk.Radiobutton(win,variable=kelamin, text='perempuan', value='perempuan') number_chosen= ttk.Combobox(win, width=12, textvariable=pekerjaan) number_chosen['values']=('Mahasiswa','Wirausaha','Petani','PNS','Lain-lain') #Tombol tombol bAdd = ttk.Button(win, text='Add',command=entry) #menempatkan komponen-komponen labTittle.grid(column=2,sticky=tk.W+tk.E) labNim.grid(column=0,row=1,sticky=tk.W) labNama.grid(column=0,row=2,sticky=tk.W) labJenisKel.grid(column=0,row=3,sticky=tk.W) labTempatLah.grid(column=0,row=4,sticky=tk.W) labTanggaLah.grid(column=0,row=5,sticky=tk.W) labAlamat.grid(column=0,row=6,sticky=tk.W) labPekerjaan.grid(column=0,row=7,sticky=tk.W) colNim.grid(column=1,row=1,sticky=tk.W) colNama.grid(column=1,row=2,columnspan=2,sticky=tk.W) colTempat.grid(column=1,row=4,columnspan=2,sticky=tk.W) colTanggal.grid(column=1,row=5,columnspan=2,sticky=tk.W) colAlamat.grid(column=1,row=6,columnspan=2,sticky=tk.W) radLaki.grid(column=1,row=3,sticky=tk.W+tk.E) radPerempuan.grid(column=2,row=3,sticky=tk.W+tk.E) number_chosen.grid(column=1,row=7,sticky=tk.W) sta.grid(column=1,row=8,sticky=tk.W) bAdd.grid(column=3, row=4,sticky=tk.E) win.mainloop()
Lalu save file tersebut dan namai dengan mahasiswa.py lalu eksekusi file tersebut jika berhasil maka akan tampil seperti ini. Untuk fungsi Read, Update dan Delete akan dibahas pada postingan berikutnya.
 .: Good Luck :.

Rabu, 28 November 2018

Memanipulasi Database pada Tkinter Python part3


Selanjutnya kita akan membuat fungsi select untuk memilih data yang ada di treeview ke kolom-kolom input untuk kita sunting menjadi data yang baru. Tetapi sebelumnya mari kita buat Treeview.bind() untuk membuat aksi ketika data di double-clicked. Masukan tree.bind(‘<Double-Button-1>’, onSelected) ke dalam kode yang telah kita buat posisinya dibawah tree.grid. Di bawah ini merupakan kode untuk fungsi OnSelected().

def onSelected(event):
global ID;
curItem = tree.focus()
contents =(tree.item(curItem))
selecteditem = contents[‘values’]
ID = selecteditem[0]
clear()
name.set(selecteditem[1])
age.set(selecteditem[2])
address.set(selecteditem[3])
salary.set(selecteditem[4])

Silahkan eksekusi untuk mengecek apakah kode yang dimasukan benar. Doubled-click data yang akan dipilih. Bila semua data langsung tampil pada kolom-kolomnya. Selanjutnya buat fungsi update.

def update():
database()
if salary.get() == 0:
sta.config(text=”Please input salary”, foreground=”red”)
else:
tree.delete(*tree.get_children())
cursor.execute(“UPDATE `COMPANY` SET `NAME` = ?, `AGE` = ?, `ADDRESS` =?, `SALARY` = ? WHERE `ID` = ?”, (name.get(),age.get(),address.get(),salary.get(), int(ID)))
conn.commit()
read()
conn.close()
clear()
sta.config(text=”Successfully updated the data”, foreground=”black”)

Lalu tambahkan tombol Update dan tambahkan grid untuk posisinya denga kode ini.
bUpdate = ttk.Button(win, text=’Update’, command=update)

Selesai untuk aksi sunting pada Tkinter selanjutnya kita buat aksi remove untuk menghapus data yang sudah tersimpan di database.

Ini merupakan fungsi remove.

remove():
if not tree.selection():
sta.config(text=”Please select an item first”, foreground=”red”)
else:
result = tkMessageBox.askquestion(‘Manipulation Data Application Python’, ‘Are you sure you want to delete this record?’, icon=”warning”)
if result == ‘yes’:
curItem = tree.focus()
contents =(tree.item(curItem))
selecteditem = contents[‘values’]
tree.delete(curItem)
database()
cursor.execute(“DELETE FROM `COMPANY` WHERE `ID` = %d” % selecteditem[0])
conn.commit()
cursor.close()
conn.close()
sta.config(text=”Successfully deleted the data”, foreground=”black”)

Lalu buat tombol Remove dan posisikan di tempat yang bagus.
bRemove = ttk.Button(win, text=’Remove’, command=remove)

Jangan lupa untuk import tkMessageBox. dengan menempatkan import tkinter.messagebox as tkMessageBox pada import module dibagian atas. Untuk tambahan pencarian data pada big data bisa buat fungsi search dengan sql yang benar. Ini juga masih sangat bisa dikembangkan dengan scrool di Treeview. Bila berhsil maka kurang lebih tampilan applikasi anda akan seperti ini.

Note: Pada koneksi database yang lain tinggal modif variabel conn pada fungsi database yang sudah ada. Bila tidakmuncul tombonya jangan lupa buat grid pada tiap-tiap tombolnya.

.: GOOD LUCK :.

Memanipulasi Database pada Tkinter Python part2



Ini merupakan lanjutan tutorial yang sebelumnya. Disini kita memodifikasi file yang sudah kita buat. Dengan menambahkan Treeview untuk melihat data yang sudah kita simpan. Tetapi sebelumnya mari kita rapihkan kode yang sudah kita buat agar mudah mengembangkannya.
#import modules
import tkinter as tk
import sqlite3
from tkinter import ttk
win = tk.Tk()
win.title(‘CRUD Tkinter’)
#buat fungsi-fungsi
def database():
global conn, cursor
conn = sqlite3.connect(‘testDB.db’)
cursor = conn.cursor()
cursor.execute(“CREATE TABLE IF NOT EXISTS ‘COMPANY'(ID integer primary key autoincrement not null,NAME text not null, AGE int not null , ADDRESS char(50), SALARY real);”)
def entry():
database()
conn.execute(“INSERT INTO COMPANY ( NAME, AGE, ADDRESS, SALARY) values (?,?,?,? )”, (name.get(),age.get(),address.get(),salary.get(),));
conn.commit()
sta.configure(text = ‘Status :Entry data success!’)
sta.configure(foreground = ‘green’)
clear()
def clear():
name.set(”)
age.set(0)
address.set(”)
salary.set(0)
#buat variabel-variabel
name = tk.StringVar()
age = tk.IntVar()
address = tk.StringVar()
salary = tk.IntVar()
#menginisiasi komponen-komponen
labTittle = ttk.Label(win, font=(16), foreground=’#0000FF’, text=’Add An employee’)
labNama = ttk.Label(win, text=’Name ‘)
labAge = ttk.Label(win, text=’Age ‘)
labAddress = ttk.Label(win, text=’Address’)
labSalary = ttk.Label(win, text=’Salary’)
sta = ttk.Label(win, text=’Status :’)
#colom-colom
colName = ttk.Entry(win, textvariable=name)
colAge = ttk.Entry(win, textvariable=age)
colAddress = ttk.Entry(win, textvariable=address)
colSalary = ttk.Entry(win, textvariable=salary)
#Tombol tombol
bAdd = ttk.Button(win, text=’Add’, command=entry)
bReset = ttk.Button(win, text=’Reset’, command=clear)
#menempatkan komponen-komponen
labTittle.grid(column=1,sticky=tk.W+tk.E)
labNama.grid(column=0,row=1)
labAge.grid(column=0,row=2)
labAddress.grid(column=0,row=3)
labSalary.grid(column=0,row=4)
sta.grid(column=1,row=5,sticky=tk.W+tk.E)
colName.grid(column=1, row=1)
colAge.grid(column=1, row=2)
colAddress.grid(column=1, row=3)
colSalary.grid(column=1, row=4)
bAdd.grid(column=0, row=6,sticky=tk.W+tk.E)
bReset.grid(column=1, row=6,sticky=tk.W+tk.E)
#menjalankan applikasi
win.mainloop()
Selanjutnya mari kita tambahkan Treeview diatas kode win.mainloop().
#menambahkan Treeview
tree = ttk.Treeview(win,columns=(“ID”, “NAME”, “AGE”, “ADDRESS”, “SALARY”), selectmode=”extended”, height=500)
tree.heading(‘ID’, text=”ID”, anchor=W)
tree.heading(‘NAME’, text=”NAME”, anchor=W)
tree.heading(‘AGE’, text=”AGE”, anchor=W)
tree.heading(‘ADDRESS’, text=”ADDRESS”, anchor=W)
tree.heading(‘SALARY’, text=”SALARY”, anchor=W)
tree.column(‘#0’, stretch=NO, minwidth=0, width=0)
tree.column(‘#1’, stretch=NO, minwidth=0, width=40)
tree.column(‘#2’, stretch=NO, minwidth=0, width=120)
tree.column(‘#3’, stretch=NO, minwidth=0, width=40)
tree.column(‘#4’, stretch=NO, minwidth=0, width=120)
tree.grid(column=0,columnspan=3,row=7)
Kemudian kita buat fungsi read untuk membaca datanya.
def read():
tree.delete(*tree.get_children())
database()
cursor.execute(“SELECT * FROM `COMPANY` ORDER BY `NAME` ASC”)
fetch = cursor.fetchall()
for data in fetch:
tree.insert(”, ‘end’, values=(data[0], data[1], data[2], data[3], data[4]))
cursor.close()
conn.close()
sta.config(text=”Successfully read the data from database”, foreground=”black”)
Kemudian eksekusi fungsi read saat program dimulai dengan menambahkan kode read() sebelum win.mainloop(). Lihatlah maka akan muncul data yang sudah kita masukan. Dan masukan kode read() juga pada akhir baris fungsi entry agar langsung merefresh setelah data ditambahkan.
.:GOOD LUCK:.

Minggu, 25 November 2018

Memanipulasi Database pada Tkinter Python


Pada artikel ini, saya membuat file yang bisa memanipulasi database yang bisa menambahkan menambahkan menampilkan, mensunting, mencari dan menghapus data. Sehingga ini cukup powerfull untuk membuat applikasi sekala besar yang berbasis dekstop pada python.
Bahan yang diperlukan untuk membuatnya:
  • Python3
  • Tkinter(module python)
  • Sqlite3
  • Text Editor (geany)
  • Console / Command prompt / Terminal
Untuk penginstalan modul Tkinter tyani dengan masuk ke Python3 dan ketikan perintah import tkinter. Untuk mengetahui bahwa module Tkinter sudah termuat ketik perintah python3 -m tkinter, bila berhasil akan muncul jendela tkinter seperti gambar dibawah ini.

Oke. Pada tahap selanjutnya kita buat file tkinterAdd.py. Ini kode dari file tkinterAdd.py :
import tkinter as tk
import sqlite3
from tkinter import ttk
win = tk.Tk()
win.title(‘Inserting Data with GUI Python’)
def database():
global conn, cursor
conn = sqlite3.connect(‘testDB.db’)
cursor = conn.cursor()
cursor.execute(“CREATE TABLE IF NOT EXISTS ‘COMPANY'(ID integer primary key autoincrement not null,NAME text not null, AGE int not null , ADDRESS char(50), SALARY real);”)
def entry():
database()
conn.execute(“INSERT INTO COMPANY ( NAME, AGE, ADDRESS, SALARY) values (?,?,?,? )”, (name.get(),age.get(),address.get(),salary.get(),));
conn.commit()
sta.configure(text = ‘Status :Entry data success!’)
sta.configure(foreground = ‘green’)
clear()
def clear():
name.set(”)
age.set(”)
address.set(”)
salary.set(”)
name = tk.StringVar()
age = tk.IntVar()
address = tk.StringVar()
salary = tk.IntVar()
ttk.Label(win, font=(16), foreground=’#0000FF’, text=’Add An employee’).grid(column=1,sticky=tk.W+tk.E)
ttk.Label(win, text=’Name ‘).grid(column=0,row=1)
ttk.Entry(win, textvariable=name).grid(column=1, row=1)
ttk.Label(win, text=’Age ‘).grid(column=0,row=2)
ttk.Entry(win, textvariable=age).grid(column=1, row=2)
ttk.Label(win, text=’Address’).grid(column=0,row=3)
ttk.Entry(win, textvariable=address).grid(column=1, row=3)
ttk.Label(win, text=’Salary’).grid(column=0,row=4)
ttk.Entry(win, textvariable=salary).grid(column=1, row=4)
sta=ttk.Label(win, text=’Status :’)
sta.grid(column=1,row=5,sticky=tk.W+tk.E)
ttk.Button(win, text=’Add’, command=entry).grid(column=0, row=6,sticky=tk.W+tk.E)
ttk.Button(win, text=’Reset’, command=clear).grid(column=1, row=6,sticky=tk.W+tk.E)
win.mainloop()
Nah bila berhasil maka kita akan menampilkan jendela Inserting Data with GUI Python seperti gabar dibawah ini.

Isi data pegawai lalu tekan tombol add untuk menambahkannya pada database testDB.db. Untuk melihat data yang sudah terinput kita bisa melihatnya dengan sqlite3 dengan mengetik sqlite3 testDB.db pada console. kemudian ketik select * from COMPANY; Maka akan muncul data yang sudah kita input.
Bila belum memasang sqlite3 pada komputer kita maka pasanglah silahkan lihat website resmi sqlite untuk menginstallny dengan benar. Pada saat menuliskan tutorial ini penulis menggunakan linux. Pada linux installah dengan perintah sudo apt-get install sqlite3.
Note : Untuk pengguna database selain sqlite3 tinggal mengganti variabel conn.
.:: GOOD LUCK ::.

Minggu, 11 November 2018

Kalkulator Python

Python merupakan pemrograman yang sangat mudah dipahami dibanding dengan yang lainnya. Python bisa dijadikan sarana belajar pemrograman pada pemula. Python sering digunakan untuk pengenalan pada pemrograman.
Pertama mari kita buat pengenalan tentang type data dan variabel. type data yang sering digunakan yakni boolean, string, double, float dan integer. Contoh pembuatan variabel pada python yakni:
#!/usr/bin/python3
#mendeklarasikan variabel
VariabelString = 'Ini bentuk variabel dalam tipe string'
VariabelInteger=90
VariabelFloat=0.15
VariabelBoolean=True #isinya bisa True dan False

Setelah menulis kode diatas dengan text editor favorit anda simpanlah dengan nama begining.py.Lalu jalankan dengan perintah python3 begining.py pada console atau command prompt. Bila benar maka tidak akan ada pesan error.
Kita akan cetak isi variabel satu perrsatu dengan command print(). Lalu tambahkan kode ini di bawah kode yang tadi ditulis.
print(VariabelString)
print(VariabelInteger)
print(VariabelFloat)
print(VariabelBoolean)
print('Cetak semua variabel dalam satu kalimat :',VariabelString,VariabelFloat,VariabelInteger,VariabelBoolean)
 
 
 
Lalu eksekusi dengan console atau command prompt dengan perintah python3 begining.py.
Operasi matimatika yakni untuk operasi tambah menggunakan simbol +, kurang simbol -, kali simbol *, bagi simbol /, akar sqrt,pangkat **. untuk akar itu menggunakan module math di python.
Mari kita buat program matimatika sederhananya. Silahkan buka text editor anda dan ketik kode di bawah ini untuk mempraktikan operasi matimatika sederhana.
#digunakan untuk mengoperasikan operasi matimatika akar
from math import sqrt
#mendeklarasi variabel untuk operai matimatika
a=4
b=25
print('Hasil',a,'+',b,'adalah',a+b )
print('Hasil',a,'-',b,'adalah',a-b )
print('Hasil',a,'*',b,'adalah',a*b )
print('Hasil',a,'/',b,'adalah',a/b )
print('Hasil',a,'pangkat',b,'adalah',a**b )
print('Hasil akar dari',a,'adalah',sqrt(a) )
print('Hasil akar dari',b,'adalah',sqrt(b) )
simpan dengan nama basic.py dan eksekusi dengan console lagi. Untuk pengoprasian akar maimatika harus mengimport sqrt pada module math.
Selanjutnya kita bisa membuat kalkulator sederhana.
#!/usr/bin/python3
running = True
print ('This is a Calculator Console')
print ('Enjoy it !')

def options():
    #calling variabel runnning
    global running
    continuing = input('Do you want quit :').lower()
    if continuing == 'y' or continuing == 'yes':
        running = False
while running :
    firstnumber = float(input('Enter the first number :'))
    operator = input('Enter operator (+ or - or * or / ) :')
    secondnumber = float(input('Enter the second number :'))
    if operator == '+' :
        print (firstnumber + secondnumber)
        options()
    elif operator == '-':
        print (firstnumber - secondnumber)
        options()
    elif operator == '*':
        print (firstnumber * secondnumber)
        options()
    elif operator == '/':
        print (firstnumber / secondnumber)
        options()
    else :
        print ('Error input!')
Untuk membuat kalkulator ini saya menggunakan operasi if statement dan while untuk menjalankan programnya otomatis. dan fungsi options() untuk digunakan berulang-ulang.
.: good luck :.