30
PENGGUNAAN FRAMEWORK DJANGO DAN MYSQL PADA APLIKASI SISTEM AKADEMIK TK INSAN KAMIL Taman Kanak-Kanak (TK) Insan Kamil berlokasi di Cikupa, Kabupaten Tangerang menggunakan cara konvensional dalam proses pengolahan datanya, baik data akademik ataupun data keuangan. Bagian administrasi TK Insan Kamil mencatat semua data tersebut dalam buku folio besar. Proses ini mengakibatkan sulitnya pihak sekolah mengecek informasi apabila dibutuhkan. Karena itu, dibuatlah suatu sistem informasi akademik berbasis website pada TK Insan Kamil. Informasi-informasi penting yang akan dimuat di website secara garis besar adalah halaman utama, halaman akademik, dan halaman kritik saran. Pembahasan pada tulisan ini difokuskan pada pengolahan data akademik siswa. Data diolah menggunakan bahasa pemrograman python versi 3.6.6, database MySQL, framework Django versi 1.11, dan Bahasa pemodelan UML (Unified Modelling Language). MySQL sebagai database dipilih karena menerima dan mengirimkan data dengan kecepatan tinggi dan multi user. Sedangkan Django versi 1.11 dipilih karena dapat merepresentasikan data model dari basis data yang dimuat dalam bentuk objek dan sesuai dengan konsep pemograman kekinian yang berbasis Object Oriented Programming (OOP). Penggunaan website dapat membantu pihak sekolah dalam melakukan pengolahan data akademik dan keuangan, menjadi sarana promosi sekolah, serta menjalin jembatan komunikasi antar pihak sekolah dengan orang tua dengan adanya halaman kritik dan saran. Website TK Insan Kamil dapat di akses di http://tkinsankamil.site/ Kata kunci: Framework Django, MySQL, Unified Modelling Language (UML) PENDAHULUAN Penggunaan teknologi informasi sebagai alat bantu pengolahan data dapat dengan mudah ditemukan dalam berbagai bidang. Di sektor Pendidikan, teknologi informasi mutlak diperlukan sebagai pengelolaan data akademik dan keuangan. Namun, masih ada sekolah-sekolah tertentu yang menggunakan metode konvensional dalam pengerjaannya. Seperti Taman Kanak-Kanak

PENGGUNAAN FRAMEWORK DJANGO DAN MYSQL PADA …makmun.staff.gunadarma.ac.id/Publications/files/5137/TK... · Halaman PSB, Halaman Kritik Saran, Halaman Login Orang Tua Siswa, dan Halaman

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

  • PENGGUNAAN FRAMEWORK DJANGO DAN MYSQL PADA

    APLIKASI SISTEM AKADEMIK TK INSAN KAMIL

    Taman Kanak-Kanak (TK) Insan Kamil berlokasi di Cikupa, Kabupaten Tangerang

    menggunakan cara konvensional dalam proses pengolahan datanya, baik data akademik ataupun

    data keuangan. Bagian administrasi TK Insan Kamil mencatat semua data tersebut dalam buku

    folio besar. Proses ini mengakibatkan sulitnya pihak sekolah mengecek informasi apabila

    dibutuhkan. Karena itu, dibuatlah suatu sistem informasi akademik berbasis website pada TK

    Insan Kamil. Informasi-informasi penting yang akan dimuat di website secara garis besar adalah

    halaman utama, halaman akademik, dan halaman kritik saran. Pembahasan pada tulisan ini

    difokuskan pada pengolahan data akademik siswa. Data diolah menggunakan bahasa

    pemrograman python versi 3.6.6, database MySQL, framework Django versi 1.11, dan Bahasa

    pemodelan UML (Unified Modelling Language). MySQL sebagai database dipilih karena

    menerima dan mengirimkan data dengan kecepatan tinggi dan multi user. Sedangkan Django

    versi 1.11 dipilih karena dapat merepresentasikan data model dari basis data yang dimuat dalam

    bentuk objek dan sesuai dengan konsep pemograman kekinian yang berbasis Object Oriented

    Programming (OOP). Penggunaan website dapat membantu pihak sekolah dalam melakukan

    pengolahan data akademik dan keuangan, menjadi sarana promosi sekolah, serta menjalin

    jembatan komunikasi antar pihak sekolah dengan orang tua dengan adanya halaman kritik dan

    saran. Website TK Insan Kamil dapat di akses di http://tkinsankamil.site/

    Kata kunci: Framework Django, MySQL, Unified Modelling Language (UML)

    PENDAHULUAN

    Penggunaan teknologi informasi sebagai alat bantu pengolahan data dapat dengan mudah

    ditemukan dalam berbagai bidang. Di sektor Pendidikan, teknologi informasi mutlak diperlukan

    sebagai pengelolaan data akademik dan keuangan. Namun, masih ada sekolah-sekolah tertentu

    yang menggunakan metode konvensional dalam pengerjaannya. Seperti Taman Kanak-Kanak

    http://tkinsankamil.site/

  • (TK) Insan Kamil yang berlokasi di Jalan Raya Serang Km 10.5 No 11 Bitung Jaya, Kecamatan

    Cikupa Kabupaten Tangerang, Provinsi Banten. TK ini didirikan oleh Hj. Mila Murlina dan Ika

    Rachmawati, S.Ag selaku pemilik dan kepala sekolah TK Insan Kamil. Dibangunnya TK Insan

    Kamil, dilandaskan oleh belum adanya lembaga Pendidikan anak usia dini di daerah tersebut.

    Maka, pada saat itu dibangun TK Insan Kamil untuk menjadi lembaga pendidikan anak usia dini

    pertama yang menjadi tempat belajar dan bermain anak-anak yang tinggal di daerah tersebut. TK

    ini sama sekali belum terjamah teknologi informasi dalam pengelolaaan administrasinya. Hal ini

    menyebabkan pihak orang tua kesulitan mengetahui informasi akademik anaknya.

    Miskomunikasi terjadi saat data yang dibutuhkan tidak akurat. Pihak sekolahpun lama kelamaan

    kesulitan dalam mengelola data yang semakin banyak. Untuk mengatasi segala keterbatasan

    metode konvensional tersebut, maka dibutuhkan sistem informasi yang tepat.

    Gambar 1. Struktur Organisasi TK Insan Kamil

    Hal-hal yang perlu diketahui informasinya dari TK Insan Kamil adalah profil sekolah,

    data guru, data siswa, nilai siswa, kalender akademik, dan status pembayaran SPP. Sejumlah data

    tadi akan diolah melalui sistem informasi akademik yang disajikan dalam bentuk aplikasi. Sistem

    informasi akademik diartikan juga sebagai sistem untuk melakukan pengolahan data akademik

    baik melalui software ataupun hardware sehingga proses kegiatan akademik dapat dikelola

    dengan baik dan menjadi informasi yang bermanfaat untuk manajemen perguruan tinggi dan

    pengambilan keputusan oleh eksekutif. Sistem ini bertujuan untuk dapat membantu pelaksanaan

    pendidikan, sehingga dapat memberikan layanan informasi yang baik dan efektif, melalui

    jaringan internet.[1] Dalam pembuatannya, terdapat beberapa tahapan yang dijalankan antara lain

    adalah: Perencanaan Aplikasi, Analisis Sistem, Perancangan Aplikasi, Perancangan Database,

  • Perancangan Antarmuka, Pembuatan Aplikasi, Implementasi, dan Uji coba. Aplikasi dibuat

    dalam bentuk website sehingga dapat diakses kapanpun dan dimanapun.

    METODE PENELITIAN

    Pembuatan aplikasi TK Insan Kamil menggunakan bahasa pemograman python yang

    dipilih karena dapat dijalankan di berbagai jenis platform sistem operasi. Karena distribusi

    aplikasi yang dibuat menggunakan python sangat luas dan multiplatform. Beberapa platform

    yang mendukung python antara lain Linux/Unix dan Windows [2] Sedangkan MySQL adalah

    sebuah program database server yang mampu menerima dan mengirimkan datanya dengan

    kecepatan tinggi, multi user, serta menggunakan perintah dasar SQL (Structured Query

    Language). MySQL bersifat Free Software dan Shareware, artinya penggunaanya gratis. MySQL

    adalah sebuah database yang dapat digunakan sebagai Client maupun server. Database

    MySQLmerupakan suatu perangkat lunak database yang berbentuk database relasional atau

    disebut Relational Database Management System (RDBMS) yang menggunakan suatu bahasa

    permintaan yang bernama SQL (Structured QueryLanguage)[3]. SQL (Structured Query

    Language) adalah sebuah bahasa permintaan database yang terstruktur. Bahasa SQL ini dibuat

    sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar

    database.

    Dalam membuat aplikasi diperlukan sebuah kerangka kerja (framework). Framework

    juga dapat diartikan sebagai kumpulan script (terutama class dan function) yang dapat membantu

    developer/programmer dalam menangani berbagai masalah-masalah pemograman seperti

    koneksi ke database, pemanggilan variabel, file, dan lain-lain. Framework dapat pula dikatakan

    sebagai komponen pemograman yang siap digunakan kapan saja, sehingga programmer tidak

    harus membuat skrip yang sama untuk tugas yang sama[4]. Django adalah sebuah framework

    yang menggunakan bahasa pemograman python untuk membuat website. Django bersifat

    terbuka dan open source berkonsep Model View Controller (MVC) untuk membuat aplikasi web.

    Kelebihan dari framework Django dibandingkan dengan framework lainnya adalah [5]:

    Merepresentasikan data model dari basis data yang dimuat dalam bentuk objek berbasis Object

    Oriented Programming (OOP), memahami situasi ketika harus menjaga kerahasiaan dan

    integritas data, desain URL yang lebih mudah dan fleksibel, sistem template yang powerful dan

  • mudah dipelajari, sistem chace dapat digunakan dengan mudah, mempermudah web developer

    dalam membuat multi bahasa, serta tidak perlu menginstal web server selama proses

    development, cukup dijalankan saja

    UML atau Unified Modelling Language adalah bahasa pemodelan standar. Elemen pada

    model-model yang dibuat akan berhubungan satu dengan lainnya mengikuti standar yang ada.

    UML lebih dari diagram, karena ia menceritakan konteks. UML dapat menjawab proses ketika

    pelanggan memesan sesuatu dari sistem, bagaimana transaksinya, bagaimana sistem mengatasi

    eror yang terjadi, bagaimana keamanan terhadap sistem, dan sebagainya. UML telah

    diaplikasikan dalam bidang investasi perbankan, lembaga kesehatan, pertahanan, sistem

    terdistribusi, sistem pendukung alat kerja, retail, sales dan supplier. UML diaplikasikan untuk

    maksud tertentu, biasanya antara lain untuk[6]: Merancang perangkat lunak, sarana komunikasi

    antara perangkat lunak dengan proses bisnis, menjabarkan sistem secara rinci untuk analisis dan

    mencari apa yang diperlukan sistem, mendokumentasikan sistem yang ada, proses-proses dan

    organisasinya.

    Tahapan awal yang dilakukan dalam penelitian ini adalah mengidentifikasi masalah

    dengan melakukan pengambilan data primer di TK Insan Kamil. Data-data tersebut kemudian

    dianalisis dan dituliskan dalam bentuk diagram. Solusi dari permasalahan tersebut diuraikan

    secara rinci menggunakan UML (Unified Modeling Language). Pembangunan sistem dilakukan

    dengan menggunakan Python versi 3.6.6, Framework Django, dan MySQL dengan Text Editor

    Sublime Text. Secara garis besar halaman yang dibuat nanti akan berisi halaman login, halaman

    utama, halaman akademik (memuat data siswa, nilai siswa, SPP siswa, dll), halaman galeri, dan

    halaman kritik dan saran.

    Pada halaman user akan ditampilkan menu beranda, menu tentang kami dengan sub menu

    visi-misi sekolah, ekstrakurikulerdan lokasi, kemudian menu akademik yang memiliki sub menu

    untuk siswa, guru ,dan kalender akademik, menu galeri, serta menu penerimaan siswa baru.

    Halaman user digunakan untuk user umum dan user login untuk orang tua siswa sedangkan

    halaman admin akan menampilkan dashboard untuk pengolahan data seluruh sistem. Pada

    halaman admin dibagi menjadi beberapa urutan anggota admin. Untuk admin adalah user dengan

  • hak akses superuser, admin mengolah seluruh data sistem. Untuk kepala sekolah diberikan hak

    akses untuk pengolahan seluruh data akademik. Untuk operator diberikan akses untuk

    pengolahan data akademik kecuali nilai guru dan penilaian guru, karena hanya kepala sekolah

    yang mendapat akses tersebut, serta dapat mengelola data galeri sebagai dokumentasi sekolah.

    Untuk guru kelas diberikan akses hanya untuk mengolah data penilaian siswa.

    Kebutuhan minimum hardware yang digunakan yaitu Laptop Acer Aspire ES 11,

    Processor Intel® Celeron® Processor N3050, RAM 2 GB. Sedangkan kebutuhan software dari

    aplikasi ini adalah: HTML sebagai instruksi website, CSS untuk desain tampilan website, Python

    3.6.3 sebagai bahasa pemograman untuk website, Django 1.11, sebagai framework website,

    Sistem Operasi Windows, Sublime Text sebagai text editor, MySQL untuk penyimpanan

    database, dan Google Chrome sebagai web browser.

    Struktur navigasi adalah alur yang digunakan dalam aplikasi yang dibuat. Sebelum menyusun

    aplikasi multimedia kedalam software, harus ditentukan terlebih dahulu alur apa yang akan

    digunakan dalam aplikasi yang dibuat. Bentuk dasar dari struktur navigasi yang biasa digunakan

    dalam proses pembuatan aplikasi multimedia ada empat macam, yaitu struktur navigasi linier,

    hirarki, non linierdan campuran. [7]

    PEMBAHASAN

    Website TK Insan Kamil dirancang dan ditujukan untuk pihak sekolah, admin sekolah, maupun

    orang tua. Diagram Unified Modelling Language (UML) yang digunakan dalam perancangan

    aplikasi adalah use case diagram, activity diagram, dan class diagram. Struktur navigasi user

    dapat dilihat pada gambar 2

  • Gambar 2. Struktur Navigasi User

    Selanjutnya dibuat rancangan sistem menggunakan Use Case Diagram seperti gambar 3.

    Gambar 3. Use Case Diagram

    Setelah Use Case Diagram dibuatlah Activity Diagram yaitu diagram yang menggambarkan

    workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Diagram aktivitas

    menggambarkan aktivitas yang dilakukan oleh sistem.

    Gambar 4. Activity Diagram

  • Dalam penggambaran struktur sistem dari pendefinisian kelas-kelas yang akan dibuat untuk

    membangun basis data, dibuatlah Class diagram dengan tiga bagian utama yaitu atribut, operasi,

    dan nama. Kelas yang ada dalam class diagram digambarkan dapat melakukan fungsi sesuai

    dengan kebutuhan sistem.

    Gambar 5. Class Diagram

    Database yang digunakan dalam aplikasi website ini adalah MySQL dengan script dari model

    yang dibuat oleh Framework Django. Terdapat 7 tabel dalam database yang dibuat yang dibuat

    dalam sebuah model program Django, ditulis, dan disimpan dalam models.py dalam app. Setiap

    app memiliki model yang akan membuatkan tabel dalam database dan memiliki model yang

    berbeda-beda.

  • Tabel 1. Struktur Tabel Auth_User

    Pada tabel 1 terdapat field id yang berfungsi sebagai primary key. Field ini memiliki fungsi auto

    increment atau menambah secara otomatis. Field id ini akan otomatis terbuat saat menggunakan

    Django tanpa harus mendefinisikan pada program.

    Tabel 2. Struktur Tabel Auth_User

    Pada tabel 2 terdapat field user_id yang berfungsi sebagai foreign key dari tabel Auth_User.

    Field NIK merupakan field yang berfungsi sebagai primary key di tabel ini

    Tabel 3. Struktur Tabel Auth_User

  • Pada tabel 3 terdapat field Nama_Guru yang diambil dari field dalam tabel Guru. Untuk field

    yang merupakan foreign key dari sebuah tabel dapat diambil dari field lainnya untuk

    ditampilkan. Pada tabel 3 diatas, field yang menjadi foreign key adalah field NIK yang dimiliki

    guru. Django dapat mengambil field lainnya dari tabel kunci tamu.

    Tabel 4. Struktur Data Siswa

    Pada Tabel 4 terdapat field NIS sebagai primary key dari tabel siswa. Field Kelas merupakan

    foreign key dari tabel Kelas Siswa atau tabel 5. Field yang harusnya menjadi kunci tamu adalah

    Kode_Kelas, namun di Django dapat mengambil field yang lain dari tabel yang memiliki kunci

    utama.

    Tabel 5.Struktur Tabel Kelas

    Pada Tabel 5 terdapat field Kode_Kelas yang menjadi primary key. Field Guru merupakan

    foreign key dari tabel Guru. Field yang diambil adalah Nama_Lengkap dari Guru tersebut.

  • Tabel 6. Struktur Tabel Penilaian Siswa

    Pada Tabel 6, field id merupakan primary key dari tabel tersebut dan menambah secara otomatis.

    Field Nama_Siswa dan Judul_Pengembangan merupakan foreign key yang diambil dari tabel

    Siswa dan Pengembangan Siswa.

    Tabel 7. Struktur Tabel SPP Siswa

    Pada Tabel 7, field id merupakan primary key dari tabel tersebut. Field Nama_Siswa merupakan

    foreign key dari tabel Siswa.

    Tabel 8. Struktur Tabel Galeri

    Tabel 9. Struktur Tabel Kritik Saran

    Selanjutnya, tahapan yang akan dilakukan adalah perancangan desain antarmuka user. Pada

    tahap ini akan digambarkan perancangan desain tiap halaman. Dalam aplikasi ini terdapat dua

    halaman utama yaitu halaman untuk user dan administrator. Halaman yang dapat diakses oleh

    user adalah: Halaman Beranda, Halaman Tentang Kami (halaman Visi Misi, Ekstrakurikuler,

  • Lokasi), Halaman Akademik (halaman Guru, Siswa, dan Kalender Akademik), Halaman Galeri,

    Halaman PSB, Halaman Kritik Saran, Halaman Login Orang Tua Siswa, dan Halaman Data

    Siswa (Berisi biodata, nilai, dan spp siswa) Rancangan desain antar muka dari website TK Insan

    Kamil dapat dilihat sebagai berikut:

    Gambar 6. Tampilan halaman Penilaian siswa

    Gambar 7. Tampilan Halaman Data Diri Siswa

  • Gambar 8. Tampilan Halaman Data Diri Siswa

  • Gambar 9. Tampilan Halaman SPP Siswa

    Gambar 10. Rancangan Tampilan Halaman Login

  • Gambar 11. Rancangan Tampilan Halaman Admin Akademik Pembayaran Siswa

    Gambar 12.Rancangan Tampilan Halaman Admin Akademik Penilaian Siswa

    Pembuatan website TK Insan Kamil menggunakan framework Django dengan

    menerapkan konsep model MVC (Models, Views, Controllers). Models adalah tempat yang

    berhubungan langsung dengan database, Views adalah tempat untuk menampilkan informasi,

    sedangkan Controllers adalah tempat untuk kontrol aplikasiyang mengatur hubungan antara

    Views dan Models. Langkah pertama dalam pembuatan website dengan menginstal framework

    django. Dalam pembuatan website ini menggunakan sistem operasi windows 10, bahasa

    pemograman python versi 3.6 dan sudah terinstal di komputer, serta command prompt sebagai

    terminal, dengan langkah-langkah instalasi sebagai berikut: Membuat sebuah folder dengan

    nama aplikasi, Membuka folder aplikasi di command promt, melihat versi python di komputer

    dengan menulis python –version, membuat environment dengan menulis perintah python -m

    venv Env, secara otomatis akan terbuat folder Env di dalam folder aplikasi, mengaktivasi

    environment dengan menulis Env\Scripts\activate.bat, menginstall django dengan menulis pip

    install Django==1.1*. Nanti pada command promt akan memperlihatkan proses instalasi berupa

    pengunduhan paket installer django

  • Beberapa hal yang harus diperhatikan saat menggunakan django adalah adalah:

    Membuka terminal command promt, membuka folder aplikasi di command promt, membuka

    environment dengan menulis perintah python -m venv Env seperti gambar 13

    Gambar 13: Environment Django

    Setelah itu kita akan mengaktivasi environment dengan menulis Env\Scripts\activate.bat,

    membuat projek dengan menulis perintah django-admin startproject website, kemudian

    memindahkan ke dalam projek tersebut dengan perintah cd website. Terakhir kita akan jalankan

    server django dengan menulis perintah python manage.py runserver, secara otomatis akan

    diberikan URL untuk dijalankan seperti Gambar 14.

    Gambar 14: Menjalankan Server Django

    Pembuatan halaman dalam framework Django dilakukan dengan melakukan konfigurasi pada

    file settings.py, urls.py, dan views.py. File settings.py adalah file pengaturan untuk web. urls.py

    merupakan file url ketika mengakses web, dan views.py berfungsi untuk menampilkan apa yang

    akan ditampilkan. Pembuatan halaman beranda dan tentang kami berada dalam satu halaman dan

    dilakukan dalam project django. Setelah memiliki project dan menjalankan server, dilakukan

    pengaturan pada settings.py seperti ini:

    TEMPLATES = [

    { ’BACKEND’ :

    ’ django . template . backends . django . DjangoTemplates ’ ,

    ’DIRS ’ : [ ’ templates ’ ] ,

    ’ APP_DIRS ’ : True ,

  • ’OPTIONS ’ : { ’ context_processors ’ : [

    ’ django . template . context_processors.debug ’ ,

    ’ django . template . context_processors.request ’ ,

    ’ django . contrib.auth.context_processors.auth ’ ,

    ’ django . contrib . messages . context_processors.messages ’ ,

    ] ,

    } ,

    } ,

    ]

    Sintaks diatas menunjukkan tempat untuk url mencari dimana file.html digunakan. DIRS yang

    berarti directory menunjukkan dimana file disimpan yaitu di folder templates pada project

    website.

    Setelah melakukan konfigurasi pada file settings.py, dilakukan konfigurasi pada urls.py dan

    views.py. Untuk sintaks dalam urls.py seperti berikut:

    from django . conf .urls import url, include

    from django . c ont r i b import admin

    from django . conf import settings

    from django . views . static import serve

    from django . conf . url s . s t a t i c import s t a t i c

    from . import views

    u r l p a t t e r n s = [

    url ( r’^ jet / ’ , include ( ’ jet . urls ’ , ’ jet ’ ) ) ,

    url ( r’^ jet / dashboard / ’ ,

    inc lude ( ’ jet . dashboard . urls ’ , ’ jet_dashboard ’ ) ) ,

    ur l ( r’^$ ’ , views . home) , ]

    i f s e t t i n g s .DEBUG:

    u r l p a t t e r n s += [

    ur l ( r’^media /(?P.*)$ ’ , serve ,

    { ’ document_root ’ : s e t t i n g s .MEDIA_ROOT, } ) ,

    ]

    Penjelasan dari sintaks diatas adalah untuk mencari view yang tepat jika pengguna mengakses

    suatu url. Untuk halaman beranda, maka dibuat statement url(r’^$’, views.home), yang berarti

    jika terdapat akses url dariweb maka akan mencari views dengan definisi fungsi home.

    Kemudian

    untuk file views.py dibuat seperti ini:

    from django.http import HttpResponse

    from django.shortcuts import render

    def index ( request ) :

    return render ( request , ’ index . html ’ )

    def home( r eque s t ) :

    return render ( reques t , ’ beranda . html ’ )

  • Penjelesan dari sintaks diatas adalah membaca dari file urls.py jika terdapat views dengan def

    index atau home. Halaman beranda memiliki views home dan akan meminta akses kepada file

    beranda.html. File beranda.html berada pada folder templates yang telah dibuat dan dijelaskan

    pada sintaks file settings.py, berikut sintaks dari file beranda.html:

    {% load s t a t i c %}

    TK INSAN KAMIL

  • Jenis_Kelamin = models . CharField (max_length=10,

    choices=jk , d e f aul t=’P ’ )

    Tempat_Lahir = models . CharField (max_length=25,

    blank=Fal se , nul l=True )

    Tanggal_Lahi r = models . DateField ( blank=Fa l s e )

    Alamat = models . CharField (max_length=60, nul l=True )

    Agama = models . CharField (max_length=10, nul l=True )

    Anak_Ke = models . Integer Field ( nul l=True )

    Tinggi_Badan = models . I n t e g e r F i e l d ( nul l=True )

    Berat_Badan = models . I n t e g e r F i e l d ( nul l=True )

    Nama_Orang_Tua = models . CharField (max_length=50, nul l=True )

    Alamat_Orang_Tua = models . CharField (max_length=60, nul l=True )

    Pekerjaan_Orang_Tua = models . CharField (max_length=40, nul l=True )

    No_Telp_Orang_Tua = models . CharField (max_length=13,nul l=True )

    Kelas = models . ForeignKey ( Kelas_Siswa , to_field=’Kode_Kelas ’ , nul l=True )

    angkatan = (

    ( ’ Ga n j i l 18/19 ’ , ’ Ga n j i l 18/19 ’ ) ,

    ( ’ Genap 18/19 ’ , ’Genap 18/19 ’ ) , )

    Angkatan = models . CharField (max_length=15,

    choi c e s=angkatan , nul l=True )

    s t a t u s = (

    ( ’ Ak t i f ’ , ’ Ak t i f ’ ) ,

    ( ’TA ’ , ’ Tidak Ak t i f ’ ) , )

    St a tus = models . CharField (max_length=10,

    choi c e s=s t a tus , d e f aul t=’ Ak t i f ’ )

    c l a s s Meta :

    verbose_name = ’ Tabel Siswa ’

    verbose_name_plural = ’ Tabel Siswa ’

    def _ _ s t r _ _ ( s e l f ) :

    r e turn " { } . " . format ( s e l f . Nama_Lengkap)

    c l a s s Kelas_Si swa (models .Model ) :

    Kode_Kelas = models . CharField (max_length=3,

    blank=Fal se , primary_key=True )

    Nama_Kelas = models . CharField (max_length=5)

    Keterangan = models . CharField (max_length=50,

    nul l=True )

    Guru = models . ForeignKey (Guru , t o _ f i e l d=’NIK ’ )

    c l a s s Meta :

    verbose_name = ’ Tabel Siswa ( Kelas Siswa ) ’

    verbose_name_plural = ’ Tabel Siswa ( Kelas Siswa ) ’

    def _ _ s t r _ _ ( s e l f ) :

    r e turn " { } " . format ( s e l f . Nama_Kelas )

    Untuk menyimpan data dan mengisi data dalam admin django, dilakukan makemigrations dan

    migrate kemudian masuk ke dalam django admin dengan username dan pasword yang telah

  • dibuat sebelumnya, untuk mengisi record siswa. Tambahkan script berikut pada urls.py dalam

    app akademik:

    ur l ( r’^s i swa / ’ , views . s i swa ) ,

    ur l ( r’^k e l a s /(?P[\w]+)/$ ’ ,

    views . kelasSiswa ) ,

    Tambahkan script berikut pada views.py dalam app akademik:

    def s i swa ( r eque s t ) :

    s i swa = Siswa . o b j e c t s . a l l ( ) ;

    cont ext = {

    ’ data ’ : siswa ,

    }

    return render ( request ,

    ’ akademik/ s i swa . html ’ , cont ext )

    def kelasSi swa ( reques t , k e l a s Input ) :

    s i swa =

    Siswa . o b j e c t s . f i l t e r ( Kelas=k e l a s Input ) ;

    ke las _data =

    Siswa . o b j e c t s . value s ( ’ Kelas ’ ) . d i s t i n c t ( ) ;

    cont ext = {

    ’ kelas_data ’ : kelas_data ,

    ’ data ’ : siswa ,

    }

    r e turn render ( reques t ,

    ’ akademik/ f o r k e l a s . html ’ , cont ext )

    def l i s t ( r eque s t ) :

    semua_f ield =

    Peni laian_Si swa . o b j e c t s . a l l ( )

    cont ext = {

    ’ p a g e _ t i t l e ’ : ’ Peni laian_Si swa Siswa ’ ,

    ’ semua_f ield ’ : semua_f ield ,

    }

    r e turn render ( reques t ,

    ’ akademik/ l i s t . html ’ , cont ext )

    Halaman siswa akan menampilkan data semua siswa dan siswa berdasarkan kelas yang datanya

    diambil dari database. Tampilan halaman akademik siswa seperti pada Gambar 15 dan 16.

  • Gambar 15: Halaman Akademik Semua Siswa

    Gambar 16: Halaman Akademik Siswa Berdasarkan Kelas

    Untuk membuat halaman login hal pertama yang dilakukan adalah membuat form login di suatu

    halaman dari url yang telah dibuat dan diambil dari views. Halaman login ini akan muncul ketika

    user menekan button login di beranda, dikhusukan oleh orang tua siswa. Ubah views.py terlebih

    dahulu di dalam app akademik. Untuk sintaksnya ditulis sebagai berikut:

    def or tu ( r eque s t ) :

    cont ext = {

    ’ judul ’ : ’ LOGIN ORANG TUA SISWA’ ,

    }

    user = None

    if request.method == "GET " :

    if request.user. is _ authenticated ( ) :

    return redirect ( ’ data ’ )

    else :

    return render

    ( reques t , ’ akademik/ orangtua . html ’ , cont ext )

    i f r eque s t .method == "POST " :

    username_login = request.POST[ ’ username ’ ]

    password_login = request.POST[ ’ password ’ ]

    user = authenticate ( request , username=username_login ,

    password=password_login )

    if user is not None :

    log in ( request , user )

  • return redirect ( ’ data ’ )

    else :

    return redirect ( ’ ortu ’ )

    return render

    ( request , ’ akademik/orangtua . html ’ , context )

    Untuk urls.py perlu penambahkan script seperti berikut:

    ur l ( r’^or tu / ’ , views . ortu , name=’ ortu ’ ) ,

    Setelah konfigurasi di url dan views, buat halaman untuk login pada orangtua.

    html dengan script sebagai berikut:

    {% load s t a t i c %}

    TK INSAN KAMIL

    {% inc lude " snippe t s / s c r i p t s . html " %}

    {% inc lude " snippe t s /tema . html " %}

    {% inc lude " snippe t s / font . html " %}

    {% inc lude " akademik/ navbar . html " %}

    {% inc lude " akademik/ or tu . html " %}

    {% inc lude " snippe t s / f o o t e r . html " %}

    {% inc lude " snippe t s / j a v a s c r i p t . html " %}

    Halaman login terdapat dalam “akademik/ortu.htm”. Script dari file tersebut

    sebagai berikut:


    {% c s r f _ t o k en %}

    Masukkan Username

    Isi dengan username yang telah diaktivasi di sekolah

  • Masukkan Password

    Isi dengan password yang telah diaktivasi di sekolah

    Login


    Ketentuan Login:


    1. Te rda f t a r sebagai s i swa di TK Insan Kamil

    2. Telah melakukan a k t i v a s i di admin sekolah

    3. Menginput username dan password s e sua i

    dengan yang dibe r ikan oleh admin di sekolah

    4. Password berbeda s e t i a p s i swa dan t ida k boleh di sebarkan

    76


    5. Wajib di lakukan oleh orang tua s i swa



    J i k a mengalami lupa password:


    1. Orang tua dapat menghubungi guru di sekolah atau

    datang ke admin sekolah TK Insan Kamil

    2. Wajib di lakukan oleh orang tua s i swa

    Halaman Data Siswa yang berisi data siswa berupa biodata, nilai, dan spp. Halaman ini dapat

    diakses jika sudah login terlebih dahulu. Pembuatan halaman ini perlu mengkonfigurasi di

    urls.py, views.py, dan tambahan file html untuk menampilkan. Berikut script tambahan di

    urls.py:

    ur l ( r’^data / ’ , views . data , name=’data ’ ) ,

    ur l ( r’^ n i l a i / ’ , views . n i l a i , name=’ n i l a i ’ ) ,

  • ur l ( r’^spp / ’ , views . spp , name=’ spp ’ ) ,

    Tambahkan def pada views.py seperti berikut:

    def data ( r eque s t ) :

    data = Siswa . objects.filter ( Siswa= request.user )

    cont ext = {

    ’ tampil_data ’ : data ,

    }

    return render ( request , ’ akademik/ data . html ’ , cont ext )

    def n i l a i ( r equest ) :

    n i l a i = Penilaian_Si swa . o b j e c t s . f i l t e r

    ( Siswa = r eque s t . user )

    cont ext = {

    ’ t amp i l _ n i l a i ’ : n i l a i ,

    }

    r e turn render ( reques t , ’ akademik/ n i l a i . html ’ , cont ext )

    def spp ( r eque s t ) :

    spp = SPP_Siswa . o b j e c t s . f i l t e r ( Siswa = r eque s t . user )

    cont ext = {

    ’ tampi l_spp ’ : spp ,

    }

    r e turn render ( reques t , ’ akademik/ spp . html ’ , cont ext )

    Pada halaman ini terdapat tiga button yaitu data, nilai, dan spp. Pembuatan halaman dengan tiga

    button tersebut dalam beberapa file html dengan menggunakan script pada orangtua.html,

    dengan mengubah script berikut:

    {% inc lude " akademik/ or tu . html " %}

    Mengubah dengan script untuk memanggil data dengan script berikut:

    {% inc lude " akademik/ datanya . html " %}

    Pada file nilai.html pun sama dengan melakukan include file agar memanggil file yang sesuai.

    Untuk button nilai tambahkan script berikut:

    {% inc lude " akademik/ n i l a i n y a . html " %}

    Pada file spp.html pun sama dengan melakukan include file agar memanggil file yang sesuai.

    Untuk button spp tambahkan script berikut:

    {% inc lude " akademik/ bayaran . html " %}

    Halaman data siswa akan menampilkan isinya dengan memanggil file akademik/datanya.html.

    Script akademik/datanya.html sebagai berikut:

  • hr e f="/akademik/ data / "

    t i t l e ="">Data Di r i Siswa

    Ni l a i Siswa

    SPP Siswa

    LOGOUT


    Selamat Datang , {{ user }}

    Data Di r i Siswa

    Data Di r i

    Keterangan

    Username

    {{user . s i swa . Siswa}}

    NIS

    {{user . s i swa . NIS}}

    Nama Lengkap

    {{user . s i swa . Nama_Lengkap}}

    Nama Panggilan

  • {{user . s i swa . Nama_Panggilan}}

    J eni s Kelamin

    {{user . s i swa . Jeni s_Kelamin}}

    Tempat , Tanggal Lahi r

    {{user . s i swa . Tempat_Lahir }} ,

    &nbsp {{ user . s i swa . Tanggal_Lahi r }}

    Alamat

    {{user . s i swa . Alamat}}

    Agama

    {{user . siswa .Agama}}

    Anak Ke/td>

    {{user . s i swa . Anak_Ke}}

    Nama Orang Tua

    {{user . s i swa . Nama_Orang_Tua}}

    Alamat Orang Tua

    {{user . s i swa . Alamat_Orang_Tua}}

    Pekerjaan Orang Tua

    {{user . siswa . Pekerjaan_Orang_Tua}}

    No . Telp Orang Tua

    {{user . siswa . No_Telp_Orang_Tua}}

    Kelas

    {{user . siswa . Kelas }}

    Angkatan

  • {{user . siswa . Angkatan}}

    Status

    {{user . siswa . Status }}

    Tampilan dari halaman data siswa setelah login berhasil seperti pada gambar 17

    Gambar 17: Tampilan Halaman Data Biodata Siswa

    Halaman nilai siswa akan menampilkan isinya dengan memanggil file akademik/nilainya.html.

    Script akademik/datanya.html sebagai berikut:

    Data Diri Siswa

    Nilai Siswa

    SPP Siswa

  • LOGOUT


    Selamat Datang , {{ user }}

    Peni l a i an Siswa Dalam Satu Bulan

    No.

    Judul

    Bulan

    Ni l a i

    De skr ips i

    {% f o r data in t amp i l _ n i l a i %}

    {{ for loop . counter }}

    {{data . Judul_Pengembangan}}

    {{data . Bulan}}

    {{data . Peni l a i an }}

    {{data . De s k r i p s i }}

    {% endfor %}

    Tampilan dari halaman nilai siswa seperti pada gambar 18.

  • Gambar 18: Tampilan Halaman Data Nilai Siswa

    Halaman data spp siswa akan menampilkan isinya dengan memanggil file

    akademik/bayaran.html. Script akademik/bayaran.html sebagai berikut:

    Data Di r i Siswa

    Ni l a i Siswa

    SPP Siswa

    LOGOUT


    Selamat Datang , {{ user }}

    SPP Dalam Satu Bulan

    No.

    Tanggal

    Bulan SPP

    Status

  • {% f o r data in tampi l_spp %}

    {{ for loop . counter }}

    {{data . Tanggal | date : "D, d M Y"}}

    {{data . Bulan}}

    {{data . Keterangan}}

    {% endfor %}

    Tampilan dari halaman data spp siswa seperti pada gambar 19.

    Gambar 19. Halaman Data SPP Siswa

    Setelah program selesai, maka langkah berikutnya adalah mengunggah website dengan

    mendaftar website www.domainesia.com. Paket yang dipilih adalah paket Super Hosting di

    DomaiNesia. Setelah melakukan pembayaran, pihak website akan memberikan billing,

    username, dan password untuk melakukan hosting program. Setelah melakukan login, maka kita

    akan mencari setup python app dan membuka file manager untuk upload file website yang telah

    penulis buat beserta file sql yang akan digunakan. Jika telah berhasil, domain yang telah dibeli

    akan dapat diakses dengan alamat http://tkinsankamil.site/

    SIMPULAN DAN SARAN

    Dari hasil penelitian yang dilakukan, hasil output sudah dan setiap menu dapat berfungsi dengan

    baik. Dengan demikian, tujuan pembuatan website TK Insan Kamil sudah mencapai tujuannya

    yaitu memudahkan komunikasi antar sekolah dan orang tua. Orang tua dan pihak sekolah sangat

    http://www.domainesia.com/

  • terbantu dengan wecsite yang dukup lengkap ini, Selain itu, pemasaran TK Insan Kamil dapat

    tersebar di sekitar wilayah Kecamatan Cikupa. Namun website yang dibangun belum dapat

    mengelola pendaftaran siswa baru secara online. Kedepannya website ini dapat dikembangkan

    lebih lengkap lagi.

    DAFTAR PUSTAKA

    [1] Homaidi, A. (2016). Sistem informasi akademik amik ibrahimy berbasis web. Jurnal Ilmiah Informatika 1(1), 2. [2] Enterprise, J. (2017). Otodidak Pemograman Python. Jakarta: PT Elex Media Komputindo. [3] Saputro, H. (2012). Modul Pembelajaran Praktek Basis Data (MySQL). [4] https://www.scribd.com/doc/52982287/PENGERTIAN FRAMEWORK. Pengertian framework. Diakses pada 5 Agustus 2019. [5] Nurusysyabani, K. (2018). Apa itu django web framework. https://www.medium.com/@nurusysyabani/apa-itu-django-webframewrok. Diakses pada 3 Agustus 2019. [6] Oktafianto, M. (2016). Analisis dan Perancangan Sistem Informasi Menggunakan Model Terstruktur dan UML. Yogyakarta: Andi Offset. [7] https://www.coursehero.com/file/15133216/Struktur Navigasi-3/. Struktur navigasi. Diakses pada 6 Agustus 2019.