Login | Search
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Jakarta' for 'WIT/7.0/no DST' instead in /home/bacalah/public_html/index.php on line 243
Thursday, 20 June 2013
Welcome Guest | Beranda | Artikel | Buku Tamu | About
  Beranda > Artikel > Tutorial > Akses Database Dengan Python di AppEngine
Akses Database Dengan Python di AppEngine
Dikirim oleh: Webmaster ( 2011-01-04, 11:48:25 )

Tidak lengkap rasanya sebuah bahasa pemrograman bila tidak dilengkapi dengan fitur koneksi dan pengolahan database, pemrograman web dengan Python juga sudah mendukung koneksi dan pengolahan database.

Di Appengine, database yang digunakan lebih populer dengan sebutan Datastore. Tidak seperti database server populer yang sering kita gunakan seperti MySQL, PostgreSQL atau lainnya, DML (data management language) yang digunakan sangat berbeda dengan DML standar umumnya meskipun memiliki fungsi query yang sama (dengan fitur yang sedikit terbatas dari database server pada umumnya) yang hanya dirancang untuk aplikasi web yang lebih menitik beratkan pada kemampuan 'menulis' dan 'membaca' data.

Bila Anda sudah familiar dengan Django dan Data modelnya maka untuk memahami konsep dan pengolahan data di Datastore akan lebih mudah karena memiliki bentuk dan konsep penerapan yang hampir sama.

Disini tidak akan mengulas panjang lebar mengenai Datastore, untuk info lebih lengkap bisa Anda baca di dokumentasinya karena kita akan langsung mencoba pengaplikasiannya dengan program dan kode sederhana yang akan kita uji coba lewat konsol.

Sebuah tabel yang kita buat dalam Datastore akan tersimpan dalam bentuk sebuah objek data yang disebut Entity. Sebuah Entity memiliki satu atau beberapa 'Property' (yang berperan sebagai data field) yang masing-masing memiliki nilai dengan tipe data tertentu seperti integer, string, date, binary data dan lain-lain (untuk penjelasan lebih lengkap baca dokumentasinya). Setiap baris data secara otomatis akan di cantumkan Key yang bersifat unik, jadi sebenarnya kita tidak perlu membuat sebuah 'id key' untuk data yang kita buat.

Untuk membuat sebuah Entity sebelumnya kita harus membuat data modelnya lebih dahulu. Mari kita coba membuat model dengan didahului membuat aplikasinya lebih dahulu di 'localhost'. Pertama jalankan Appengine Launcher kemuadian buatlah aplikasi baru dan kemudian aktifkan dengan menekan tombol 'Run'

DATA MODEL

Disini kita akan membuat model untuk aplikasi yang kita beri nama 'engineapp4' dengan Model yang bernama 'Test'. setelah aplikasi diaktifkan tekan tombol 'SDK Console' pada Appengine Launcher.

Yang perlu diperhatikan, sebuah Entity akan terbentuk setelah dibuat modelnya dan terinput secara 'programming' , berikut contohnya :

##Membuat Model bernama Test
from google.appengine.ext import db

class Test(db.Model):
    nama = db.StringProperty(required=True)
    kelamin = db.StringProperty(required=True)
    umur = db.IntegerProperty(required=True)

##Memasukan satu baris data dengan memasukan datanya langsung

##lewat argumen pada Model yang kita buat
inputTest = Test(nama="PUPUT", kelamin="P", umur=26)

inputTest.put()

db.put(inputTest)


ketik contoh di atas pada konsol dengan mengklik menu 'Development Console' pada SDK Console yang sudah kita buka dan klik 'Run Program setelah selesai untuk mengeksekusi hasilnya. Bila tidak ada kesalahan maka di sisi sebelah kanan tidak akan tampil apa-apa, kemudian cek apakah Entity dan datanya sudah masuk dengan menekan link 'Datastore Viewer'.

QUERY

Sekarang kita mencoba membuat baris program untuk menampilkan baris data yang sudah kita input. Untuk menjalankan query, untuk menampilkan data kita dapat menggunakan salah satu metode dari modul 'db' yang telah kita panggil pada awal program yang kita buat, yaitu GqlQuery().

Selain menggunakan metode diatas kita juga dapat menggunakan metode gql(), untuk lebih lengkap mengenai operasi query dan pengolahan data pada Entity kita silahkan baca dokumentasinya.

Karena kita akan bekerja lewat konsol, untuk menggunakan Entity yang sudah buat kita harus mendefinisikan lebih dahulu model dari Entity yang sudah kita buat.

from google.appengine.ext import db

##Definisikan model
class Test(db.Model):
    nama = db.StringProperty(required=True)
    kelamin = db.StringProperty(required=True)
    umur = db.IntegerProperty(required=True)


##Query pencarian data
query = db.GqlQuery("SELECT * FROM Test")
result = query.fetch(10)

##Tampilkan data

for row in result:
    print "Nama : " + row.nama
    print "Kelamin : " + row.kelamin
    print "Umur : " + str(row.umur)


Setelah itu klik 'Run Program', data yang akan tampil kurang lebih akan seperti ini:

Nama : PUPUT
Kelamin : P
Umur : 26


UPDATE DATA

Berikut contoh untuk melakukan pengeditan data :

##Definisi Model
class Test(db.Model):
    nama = db.StringProperty(required=True)
    kelamin = db.StringProperty(required=True)
    umur = db.IntegerProperty(required=True)

##Cari data yang akan diupdate
query = db.GqlQuery("SELECT * FROM Test WHERE nama = :1", "PUPUT")

##Update data
for update in query:
    update.nama = "PUPUT"
    update.kelamin = "P"
    update.umur = 28

update.put()


Coba cek Datastore Anda

DELETE DATA

Sekarang kita akan coba untuk menghapus data yang sudah kita input tapi sebelumnya tambah dulu entity yang ada pada datastore Anda.

from google.appengine.ext import db

##Definisikan model
class Test(db.Model):
    nama = db.StringProperty(required=True
    kelamin = db.StringProperty(required=True)
    umur = db.IntegerProperty(required=True)

##Cari data yang akan dihapus
query = db.GqlQuery("SELECT * FROM Test WHERE nama = :1", "PUPUT")

##Hapus data
result = query.fetch(5)

db.delete(result)


Mudah bukan, silahkan coba kode-kode di atas dan gali lebih mendalam dokumentasi yang ada (Versi PDF tulisan ini bisa didapatkan disini)


Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Jakarta' for 'WIT/7.0/no DST' instead in /home/bacalah/public_html/incl/readart.php on line 9

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Jakarta' for 'WIT/7.0/no DST' instead in /home/bacalah/public_html/incl/readart.php on line 16
Komentar : 0    Tulis Komentar

Artikel Terkait

Akses Database Dengan Python di AppEngine
Request 'POST' dan 'GET' Di Pemrograman Python
Membuat Halaman Web Berbasis Python di AppEngine
Instalasi Google AppEngine Launcher
Aplikasi Web Dengan Python di Google AppEngine

Terpopuler

Syiah dan Kesalahpahaman,Tanggapan Artikel : Sekali Lagi, Syiah dan Kerukunan Umat

 
 
Ads

Space For Banner... contact 087878363482

 
   
    Bacalah-Web © 2007 -
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Jakarta' for 'WIT/7.0/no DST' instead in /home/bacalah/public_html/index.php on line 269
2013 | About | RSS | Total Klik : 332637