Agen Terpercaya  
 
 
 
 
Pasang iklan, hanya lewat Contact Us.
Waspada penipuan iklan. Klik di sini untuk melihat daftar penipu.

[Django] APK HRD

RayMantic

Moderator
Staff member
Moderator
Daftar
4 Oct 1988
Post
×
Like diterima
9.136
Bimabet
APLIKASI INI UNTUK PENGELOLAAN KARYAWAN.UNTUK USAHA ATAU KANTOR .
SAYA SHARE DISINI SIAPA TAHU ADA BUTUH DARIPADA SAYA DELETE DARI LAPTOP NUBI .



$ sudo apt-get install pip
$ sudo pip install django


$ sudo yum install pip
$ sudo pip install django


$ tar -xzvf django-1.9.x.tgz
$ cd django-1.9.x
$ python setup.py install


Bila sudah berhasil memasang Django di sistem operasi Anda, cobalah buka konsol / terminal untuk mencoba Django dengan perintah seperti berikut:

Code:
$ django-admin.py --version
1.9.x

Buat Proyek Baru
gunakan django-admin.py di konsol kita dapat membuat sebuah proyek Django baru. Untuk tutorial ini silahkan simpan saja di folder manapun yang Anda sukai, kemudian panggil perintah berikut untuk membuat proyek baru:

Code:
$ django-admin.py startproject mini_hrd

Sekarang kita coba lihat ada apa sajakah di dalam sebuah proyek Django yang baru lahir:
Code:
$ cd mini_hrd/
$ ls mini_hrd
manage.py mini_hrd
$ ls mini_hrd/mini_hrd
__init__.py   settings.py   urls.py   wsgi.py

Di dalam proyek baru Django ada beberapa file yang perlu dikenali:
manage.py merupakan file yang akan menjadi jembatan untuk menggunakan perintah konsol yang dimiliki Django, ada cukup banyak perintah konsol yang dimiliki Django seperti membuat modul baru, meng-generate database dari ORM ke RDBMS, dan lainnya .
mini_hrd/ _ _ init _ _ .py merupakan sebuah file yang menjadi penanda bagi sebuah direktori di dalam proyek aplikasi agar dikenali Python dan dapat terlibat dalam proses import modul dan file. Cocok sekali bila kita terbiasa membuat sebuah aplikasi terbagi menjadi beberapa file atau modul
mini_hrd/settings.py merupakan file yang berisi pengaturan Django mulai dari pengaturan database, pengaturan dimana file statik seperti CSS dan Javascript berada, pengaturan aplikasi atau sistem yang terintegrasi dengan aplikasi Django, dan berbagai pengaturan lainnya
  • urls.py merupakan file yang berisi pemetaan URL ke views atau modul yang ada di dalam Django, misal ketika kita ingin mengakses http://localhost:8000/about maka kita akan diarahkan ke urls.py kemudian dia akan melihat views mana yang akan memproses request tersebut, misal nama views-nya adalah homepage.views.about
  • wsgi.py merupakan file yang akan digunakan ketika akan melakukan proses deploy aplikasi Django di web server seperti Apache atau Nginx .
konfigurasi SQLite3 yang ada di mini_hrd/settings.py:

Code:
...............

WSGI_APPLICATION = 'mini_hrd.wsgi.application'

# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

...............

nb : sesuaikan dengan punya agan

lakukan migrasi database untuk pertama kali dan ini hukumnya wajib bila kita ingin menggunakan halaman admin Django:
Code:
$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK

buat super user yang akan digunakan untuk mengakses halaman Django Admin.

Code:
$ python manage.py createsuperuser
Username (leave blank to use 'mrx'):
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.

runserver:
Code:
$ python manage.py runserver




Membuat Modul Karyawan dan Kehadiran
membuat modul kehadiran dan karyawan. Modul dapat diartikan sebagai folder yang berisi file - file Django seperti model, views, dan template. Untuk membuat sebuah modul diperlukan perintah startapp dengan melewatkan nama modul yang akan dibuat. Perhatikan perintah dibawah ini:
Code:
$ python manage.py startapp karyawan
$ python manage.py startapp kehadiran

setelah berhasil membuat kedua modul tersebut, kita harus mendaftarkannya di mini_hrd/settings.py agar modul tersebut dapat dilibatkan dalam proses migrasi database dan dapat ditampilkan di halaman admin Django:

Code:
.............

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'kehadiran',
    'karyawan',
]

.............

tahap berikutnya, kita akan membuat empat class model di dalam karyawan/models.py. Class tersebut terdiri dari Divisi, Jabatan, Karyawan, dan Akun. Di dalam sebuah file model wajib terdapat sintaks from django.db import models yang artinya kita memanggil modul models yang tersedia di Django. Setiap class model akan diturunkan dari sebuah class models.Model. Di dalamnya akan terdapat pendefinisian field tabel dan berbagai function yang akan dimiliki class tersebut. Sekarang silahkan salin terlebih dahulu source code berikut ke karyawan/models.py:

Code:
from __future__ import unicode_literals

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class Divisi (models.Model):
    nama = models.CharField(max_length=100)
    keterangan =models.TextField(blank=True)

    def __unicode__(self):
        return self.nama

class Jabatan (models.Model):
    nama = models.CharField(max_length=100)
    keterangan = models.TextField(blank=True)

    def __unicode__(self):
        return self.nama

class Karyawan (models.Model):
    JENIS_KELAMIN_CHOICES = (
        ('pria', 'Pria'),
        ('wanita', 'Wanita'),
    )

    JENIS_KARYAWAN_CHOICES = (
        ('magang', 'Magang'),
        ('kontrak', 'Kontrak'),
        ('tetap', 'Tetap'),
    )

    nama = models.CharField(max_length=100)
    alamat = models.TextField(blank=True)
    jenis_kelamin = models.CharField(max_length=10, choices=JENIS_KELAMIN_CHOICES)
    jenis_karyawan = models.CharField(max_length=10, choices=JENIS_KARYAWAN_CHOICES)
    no_telepon = models.CharField(max_length=30, blank=True)
    email = models.CharField(max_length=100, blank=True)
    no_rekening = models.CharField(max_length=100)
    pemilik_rekening = models.CharField(max_length=100)
    divisi = models.ForeignKey(Divisi)
    jabatan = models.ForeignKey(Jabatan)

    def __unicode__(self):
        return self.nama

class Akun (models.Model):
    JENIS_AKUN_CHOICES = (
        ('karyawan', 'Karyawan'),
        ('admin', 'Administrator'),
    )

    akun = models.ForeignKey(User)
    karyawan = models.ForeignKey(Karyawan)
    jenis_akun = models.CharField(max_length=20, choices=JENIS_AKUN_CHOICES)

    def __unicode__(self):
        return self.karyawan.nama

Ada beberapa hal yang perlu diperhatikan dari kode diatas:
  • Setiap model dideklarasikan dengan sebuah class Python yang mewarisi models.Model
  • Nama model disesuaikan dengan kebutuhan Anda
  • Untuk membuat sebuah kolom bertipe Varchar, digunakan CharField
  • Untuk membuat sebuah kolom bertipe Text, digunakan TextField
  • Parameter max_length digunakan untuk menentukan batas maksimal string yang akan disimpan
  • Parameter blank digunakan agar dapat mengizinkan kolom diisi dengan string kosong
  • Parameter null digunakan agar dapat mengizinkan kolom tidak diisi dengan nilai apapun
  • Function unicode digunakan untuk mencetak nama baris tabel ketika dengan output sementara yang kita tentukan. Bila tidak diatur, maka ketika ditampilkan di halaman Admin akan dicetak string seperti Karyawan object
  • Parameter choices akan membuat sebuah kolom menjadi tipe enum, untuk membuat sebuah CharField menjadi enum Anda harus melewatkan sebuah tuple yang berisi pilihan tersebut.
  • Untuk membuat sebuah relasi di class model Django, Anda hanya perlu menentukan sebuah field yang akan menjadi ForeignKey untuk tabel tersebut terhadap tabel parent. Parameter wajib dari field ForeignKey ini adalah nama tabel yang akan menjadi parent

Silahkan salin source code berikut ke karyawan/admin.py:

Code:
from django.contrib import admin
from karyawan.models import *

# Register your models here.
class DivisiAdmin (admin.ModelAdmin):
    list_display = ['nama', 'keterangan']
    list_filter = ()
    search_fields = ['nama', 'keterangan']
    list_per_page = 25

admin.site.register(Divisi, DivisiAdmin)

class JabatanAdmin (admin.ModelAdmin):
    list_display = ['nama', 'keterangan']
    list_filter = ()
    search_fields = ['nama', 'keterangan']
    list_per_page = 25

admin.site.register(Jabatan, JabatanAdmin)

class KaryawanAdmin (admin.ModelAdmin):
    list_display = ['nama', 'alamat', 'jenis_kelamin', 'jenis_karyawan', 'jabatan', 'divisi', 'email', 'no_telepon']
    list_filter = ('jenis_kelamin', 'jenis_karyawan', 'jabatan', 'divisi')
    search_fields = ['nama', 'alamat', 'email', 'no_telepon']
    list_per_page = 25

admin.site.register(Karyawan, KaryawanAdmin)

class AkunAdmin (admin.ModelAdmin):
    list_display = ['akun', 'karyawan', 'jenis_akun']
    list_filter = ('jenis_akun',)
    search_fields = []
    list_per_page = 25

admin.site.register(Akun, AkunAdmin)

Karena kita ingin mengelola tabel Divisi, Jabatan, Karyawan, dan Akun di halaman admin Django, maka kita harus mendaftarkan setiap tabel di file karyawan/admin.py dengan menggunakan sintaks admin.site.register().

  • Setiap class tampilan Admin harus mewarisi class admin.ModelAdmin
  • list_display harus diisi dengan field yang ada di model, opsi ini berguna untuk menampilkan field apa sajakah yang akan ditampilkan ketika memasuki halaman suatu model. Field yang dapat ditampilkan adalah field yang hanya berisi satu nilai
  • list_filter harus diisi dengan field yang berupa relasi ke tabel lain atau berupa enum
  • search_fields harus diisi dengan field yang berisi satu nilai
  • list_per_page harus diisi dengan angka yang menjadi batas penampilan data suatu tabel
.
kehadiran/models.py akan kita isi dengan class model yang akan berisi kehadiran setiap karyawan. Silahkan salin kode berikut ke kehadiran/models.py:

Code:
from __future__ import unicode_literals

from django.db import models
from karyawan.models import Karyawan

# Create your models here.
class Kehadiran(models.Model):
    JENIS_KEHADIRAN_CHOICES = (
        ('izin', 'Izin'),
        ('cuti', 'Cuti'),
        ('alpa', 'Tanpa Alasan'),
        ('hadir', 'Hadir'),
    )

    karyawan = models.ForeignKey(Karyawan)
    jenis_kehadiran = models.CharField(max_length=20, choices=JENIS_KEHADIRAN_CHOICES)
    waktu = models.DateField()

    def __unicode__(self):
        return self.karyawan.nama
salin kode berikut ke file kehadiran/admin.py:

Code:
from django.contrib import admin
from kehadiran.models import Kehadiran

# Register your models here.
class KehadiranAdmin (admin.ModelAdmin):
    list_display = ['karyawan', 'jenis_kehadiran', 'waktu']
    list_filter = ('jenis_kehadiran',)
    search_fields = []
    list_per_page = 25

admin.site.register(Kehadiran, KehadiranAdmin)

Setelah rampung menyalin dan memahami kode diatas, saatnya migrasi database karena ada penambahan model yang akan berimbas pada penambahan tabel di database yang telah kita atur. Silahkan eksekusi perintah python manage.py makemigrations untuk menelusuri perubahan apa sajakah yang harus dilakukan. Kemudian setelah Anda membaca output yang dikeluarkan, silahkan lanjut dengan mengeksekusi perintah python manage.py migrate untuk membuat tabel dan perubahan apapun terhadap database:


Code:
$ python manage.py makemigrations
Migrations for 'kehadiran':
  0001_initial.py:
    - Create model Kehadiran
Migrations for 'karyawan':
  0001_initial.py:
    - Create model Akun
    - Create model Divisi
    - Create model Jabatan
    - Create model Karyawan
    - Add field karyawan to akun

$ python manage.py migrate
Operations to perform:
  Apply all migrations: kehadiran, sessions, admin, karyawan, contenttypes, auth
Running migrations:
  Rendering model states... DONE
  Applying karyawan.0001_initial... OK
  Applying kehadiran.0001_initial... OK

NB : Anda tidak harus membuat file migrasi sendiri, karena cukup dengan mengubah file models.py di suatu modul, maka Django akan membuatkan file migrasi untuk Anda. Tapi pada suatu saat mungkin Anda harus mengedit file migrasi bila ada masalah yang mendesak.



SEKIAN
:beer:
SAYA HANYA SHARE BUKAN BERARTI SAYA SOK PINTAR !
KMRN ADA YANG BILANG NUBI SOK PINTAR:aduh: JADI MALES MAU BIKIN THREAD KAYAK GINI:mati: .

SAYA BUAT THREAD BERDASAR PROJECT SAYA SENDIRI YANG SUDAH SAYA TIDAK PAKE DAN SAYA HAPUS DARI LAPTOP .

SAPA TAHU ADA YANG KERJANYA KAYAK NUBI DAN LAGI BUTUH
:ampun:
 
Saya pengen belajar yang kayak begini, bikin aplikasi kan ya?
Tapi mulai dari nol.
Ada rekomendasi buku nya suhu?
BTW nice thread 👍👍👍
 
Bimabet
Saya pengen belajar yang kayak begini, bikin aplikasi kan ya?
Tapi mulai dari nol.
Ada rekomendasi buku nya suhu?
BTW nice thread 👍👍👍
nubi ng ngerti kl soal django buku refrensinya apa ...
tapi dulu nubi belajar dasar dari php.
jadi lbh baik belajar satu bahasa prgram smp bnr2 paham nanti untuk bhs lain nya bs sambil jalan n sedikit2 di pelajarin.. karena sintak program itu hampir sama satu dengan yang lain .
 
Jav Toys
Gaple Online Indonesia
Pasang iklan hanya lewat CONTACT US
Back
Top
We are now part of LS Media Ltd