Anda di halaman 1dari 43

1

LAPORAN PRAKTIK INDUSTRI


DI PT. INDUSTRI TELEKOMUNIKASI INDONESIA (PERSERO)
PEMROGRAMAN WEB BERBASIS FRAMEWORK DJANGO PYTHON
SEBAGAI WEB SERVER
disusun untuk memenuhi syarat kelulusan Mata Kuliah Praktik Industri
1. Drs. Yoyo Somantri S.T, M.Pd
2. Mulyo Sanyoto

oleh :
Bima Agus Arachman

1306785

PROGRAM STUDI PENDIDIKAN TEKNIK ELEKTRO


DEPARTEMEN PENDIDIKAN TEKNIK ELEKTRO
FAKULTAS PENDIDIKAN TEKNOLOGI DAN KEJURUAN
UNIVERSITAS PENDIDIKAN INDONESIA
BANDUNG
2016

LEMBAR PENGESAHAN I
LAPORAN PRAKTEK KERJA INDUSTRI
PT. INDUSTRI TELEKOMUNIKASI INDONESIA (PERSERO)

Oleh :
NAMA

: Bima Agus Arachman

NIM

: 1306785

Program Studi

: Pendidikan Teknik Elektro S-1

Konsentrasi

: Elektronika Industri
Disetujui oleh,

Ketua Praktik Industri

Pembimbing Praktik Industri


Dosen,

Tommi Hariyadi,S.T.,M.T
NIP. 19820428 200912 1 006

Dr. Yoyo Somantri, ST,M.Pd.


NIP. 19570805 198503 1 003

Mengetahui,
Ketua Departemen Pend. Teknik Elektro

Dr. Hj. Budi Mulyanti, M.Si.


NIP 19630109 199402 2 001

LEMBAR PENGESAHAN II
LAPORAN PRAKTEK KERJA INDUSTRI
PT. INDUSTRI TELEKOMUNIKASI INDONESIA (PERSERO)

Oleh :
NAMA

: Bima Agus Arachman

NIM

: 1306785

Program Studi

: Pendidikan Teknik Elektro S-1

Konsentrasi

: Elektronika Industri

Disetujui oleh,
Kepala Divisi
Pengembangan Produk

Pembimbing Praktik Industri

Yanardian Agrianto

Mulyo Sanyoto
PP.198806007

LEMBAR PENGESAHAN II
LAPORAN PRAKTEK KERJA INDUSTRI
PT. INDUSTRI TELEKOMUNIKASI INDONESIA (PERSERO)

Oleh :
NAMA

: Bima Agus Arachman

NIM

: 1306785

Program Studi

: Pendidikan Teknik Elektro S-1

Konsentrasi

: Elektronika Industri

Disetujui oleh,
a.n Ka. Urusan Pengembangan
Pembelajaran

Pembimbing Praktik Industri

Kasnanta Suwita
NIP.198709131

Mulyo Sanyoto
PP.198806007

KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Allah SWT, yang telah
melimpahkan rahmat dan HidayahNya sehingga dapat menyelesaikan Laporan
Praktik Industri ini sesuai dengan rencana.
Dalam pelaksaan Praktik Industri sampai pembuatan laporan ini, penulis
tentunya mendapat banyak bantuan dari semua pihak. Oleh karena itu, penulis
mengucapkan terimakasih setulusnya kepada :
1.
2.
3.
4.
5.

Orang Tua yang selalu memberi dukungan kepada penulis.


Bapak Tommi Hariyadi S.T, M.T selaku koordinator Praktik Industri.
Bapak Drs. Yoyo Somantri S.T, M.Pd selaku dosen pembimbing.
Bapak Mulyo Sanyoto selaku pembimbing dari PT. INTI.
Seluruh karyawan PT. INTI yang telah banyak membantu dan
membimbing dalam proses Praktik Industri.
Selama dua bulan pelaksaan praktek industri, penulis mendapatkan ilmu

yang baru, dimana aplikasi dari teori-teori yang kami pelajari belum kami
dapatkan di bangku perkuliahan.
Penulis menyadari bahwa ini dilihat dari tataran penulisan maupun
kandungan isinya masih jauh dari kesempurnaan. Untuk itu penulis mohon kritik
dan saran yang bersifat membangun sebagai pengayaan di dalam penyusunan
tulisan

ini selanjutnya. Walaupun demikian, penulis tetap berharap semoga

Laporan Praktik Industri ini dapat bermanfaat khususnya bagi penulis dan
umumnya bagi pembaca.
Bandung,

Desember 2016

Penulis
DAFTAR ISI

KATA PENGANTAR...............................................................................................i
DAFTAR ISI............................................................................................................ii

DAFTAR GAMBAR..............................................................................................iv
BAB I.......................................................................................................................1
PENDAHULUAN...................................................................................................1
1.1

Latar Belakang..........................................................................................1

1.2

Tujuan Praktik Industri..............................................................................2

1.3

Waktu dan Tempat Praktik Industri...........................................................3

1.4

Batasan Masalah........................................................................................3

1.5

Rumusan Masalah.....................................................................................3

1.6 Sistematika Pembahasan................................................................................3


BAB II......................................................................................................................5
TINJAUAN PERUSAHAAN..................................................................................5
2.1 Sejarah PT. Industri Telekomunikasi Industri (Persero)................................5
2.2 Visi dan Misi Perusahaan...............................................................................6
2.3 Struktur Organisasi........................................................................................6
2.4 Divisi Pengembangan Produk........................................................................8
BAB III....................................................................................................................9
DASAR TEORI.......................................................................................................9
3.1

Django.......................................................................................................9

3.1.1

Filosofi Desain Django...................................................................10

3.1.2

Keuntungan dari Django...............................................................10

3.2 Bahasa Pemrograman Python......................................................................11


3.2.1 Sejarah Bahasa Python.......................................................................12
3.2.2

Kegunaan Bahasa Python.............................................................12

3.2.3

Kelebihan dan Kekurangan Bahasa Python...............................13

BAB IV..................................................................................................................14
PEMBAHASAN....................................................................................................14
4.1 Instalasi Python............................................................................................14
4.2 Instalasi Django...........................................................................................15
4.3 Membuat Projek Baru dengan Django.........................................................16
4.4 Membuat Model untuk banyak Variabel......................................................19
4.5 Menampilkan login Form Pada halaman Awal Web....................................26

BAB V....................................................................................................................33
PENUTUP..............................................................................................................33
5.1

Kesimpulan..............................................................................................33

5.2

Saran........................................................................................................33

DAFTAR PUSTAKA.............................................................................................34
LAMPIRAN-LAMPIRAN....................................................................................35

DAFTAR GAMBAR
Gambar 1 : Struktur Organisasi PT INTI................................................................7
Gambar 2 : Tampilan saat python sudah terinstal..................................................15
Gambar 3 : Tampilan saat django sudah terinstal..................................................16
Gambar 4 : Memanggil file direktori.....................................................................16
Gambar 5 : Membuat projek baru..........................................................................17
Gambar 6 : Letak file database..............................................................................17
Gambar 7 : Membuat aplikasi baru........................................................................18
Gambar 8 : Melakukan migrasi..............................................................................19
Gambar 9 : Me-running program...........................................................................19
Gambar 10 : Tampilan pertama django..................................................................19
Gambar 11 : Tampilan untuk membuat aplikasi....................................................20
Gambar 12 : Tampilan tabel berhasil dibuat..........................................................22
Gambar 13 : Melakukan migrasi............................................................................23
Gambar14 : Membuat username baru....................................................................23
Gambar 15 : Me-running program.........................................................................24
Gambar 16 : Tampilan awal django admin............................................................24
Gambar 17 : Tampilan setelah berhasil log in........................................................25
Gambar 18: Tampilan Tabel Gapeka......................................................................25
Gambar 19 : Tampilan Tabel Rangkaian...............................................................26
Gambar 20 : Tampilan Tabel Tarif.........................................................................26
Gambar 21 : Tampilan Tabel Transaksi.................................................................26
Gambar 22 : Tampilan login web...........................................................................35
Gambar 23 : Tampilan login web saat memasukan username dan password........35
Gambar 24 : Tampilan Home web.........................................................................36

BAB I
PENDAHULUAN
1.1 Latar Belakang
Departemen Pendidikan Teknik Elektro (DPTE) merupakan salah satu
departemen di Fakultas Pendidikan Teknologi dan Kejuruan (FPTK) UPI. Lulusan
DPTE FPTK UPI dipersiapkan sebagai tenaga kependidikan dan nonkependidikan. Setelah menempuh materi perkuliahan mahasiswa diharapkan
mampu menguasai kedua komponen pokok tersebut, yang dapat dijadikan sebagai
indikator kemampuan dari para lulusan DPTE didalam melaksanakan peran
sebagai tenaga kependidikan yang professional di SMK maupun sebagai tenaga
non-kependidikan kelak.
Memenuhi harapan tersebut, DPTE FPTK UPI memberikan atau
membekali

mahasiswanya

dengan

serangkaian

mata

kuliah

yang

berkesinambungan, seperti latihan soal-soal, praktik-praktik serta tugas-tugas. Hal


ini bertujuan untuk melatih para mahasiswa menerapkan konsep atau teori-teori
dari mata kuliah yang bersangkutan di perkuliahan sebagai bekal pengetahuan dan
menerapkannya di lapangan nanti salah satunya adalah mata kuliah Praktik
Industri.
Praktik Industri merupakan salah satu kurikulum wajib yang harus
ditempuh oleh mahasiswa S-1 Departemen Pendidikan Teknik Elektro Universitas
Pendidikan Indonesia. Praktik Industri diharapkan dapat memberi pengalaman
mahasiswa untuk bekerja secara langsung di Industri. Selain Praktik Industri
dapat dijadikan sebagai ajang kesesuaian antara dunia pendidikan dengan dunia
industri, wawasan dan pengalaman tentang dunia kerja juga sangat diperlukan
bagi mahasiswa. Diharapkan dengan adanya praktik industri ini, mahasiswa dapat
lebih mengenal tentang dunia industri dan perkembangannya.
Dalam laporan kegiatan praktik industri penulis membahas mengenai
kegiatan praktik industri yang difokuskan pada pembuatan web menggunakan
django sebagai framework dan python sebagai bahasa pemrograman.

1.2 Tujuan Praktik Industri


1.2.1

Bagi Mahasiswa.
1. Meningkatkan, memperluas dengan memantapkan keterampilan
yang akan membentuk kemampuan mahasiswa sebagai bekal
untuk memasuki lapangan kerja yang sesuai dengan bidangnya,
dalam hal ini adalah bidang teknologi sekaligus sebagai proses
penyerapan teknologi baru dari lapangan kerja bagi mahasiswa.
2. Menumbuhkan

dan

memantapkan

sikap

profesional

yang

diperlukan bagi mahasiswa untuk memasuki dunia kerjanya.


3. Memberikan kesempatan kepada mahasiswa tersebut untuk
memasyarakatkan diri pada suasana dan iklim lingkungan kerja
yang sebenarnya terutama berkenaan dengan disiplin ilmu.
4. Dapat mengamati, mengembangkan dan menggunakan ilmu yang
telah didapat dari bangku kuliah.

1.2.2

Bagi Fakultas Pendidikan Teknologi dan Kejuran Departemen


Pendidikan Teknik Elektro Universitas Pendidikan Indonesia.
1. Adanya pengalaman industri bagi mahasiswa sesuai dengan dasar
keahliannya, sehingga dapat dijadikan bahan pengembangan
berfikir di masa depan dan meningkatkan kualitas pengetahuan
serta keterampilan mahasiswa melalui kerja lapangan atau magang
sesuai bidang keahliannya.
2. Sebagai bahan masukan untuk mengevaluasi sampai sejauh mana
kurikulum yang dibuat sesuai dengan kebutuhan tenaga kerja yang
terampil di bidangnya.

3. Untuk

mengetahui

kemampuan

mahasiswanya

dalam

mengaplikasikan ilmu yang didapat dari Departemen Pendidikan


Teknik Elektro.
4. Terjalinnya kerjasama dengan pihak industri.
1.2.3

Bagi Perusahaan
1. Terjalin hubungan yang baik dengan pihak Universitas Pendidikan
Indonesia, terutama Fakultas Pendidikan Teknologi dan Kejuruan
Departemen Pendidikann Teknik Elektro sebagai salah satu
instansi pendidikan bagi calon tenaga ahli bidang teknik yang
sangat dibutuhkan dalam perusahaan.
2. Sebagai sarana untuk mengetahui kualitas pendidikan yang ada di
Departemen Pendidikan Teknik Elektro Fakultas Pendidikan
Teknologi dan Kejuruan Universitas Pendidikan Indonesia.
3. Sebagai sarana untuk memberikan kriteria tenaga kerja yang
dibutuhkan oleh perusahaan.

1.3 Waktu dan Tempat Praktik Industri


Kegiatan Praktik Industri dilaksanakan mulai tanggal 20 Juli sampai
dengan 21 September 2016 bertempat di PT. Industri Telekomunikasi Industri
(PT. INTI) Bandung, Jalan Moh. Toha 77 Bandung, Jawa Barat
1.4 Batasan Masalah
1. Bahasa yang digunakan adalah python 2.7
2. Framework yang digunakan adalah framework django 1.10
3. Database yang dibuat digunakan untuk database perjalanan kereta api
1.5 Rumusan Masalah
1. Bagaimana membuat web database menggunakan framework django
dengan python sebagai bahasa pemrograman?
2. Bagaimana membuat Models untuk banyak variabel?
3. Bagaimana membuat login form?

1.6 Sistematika Pembahasan


1. BAB 1 PENDAHULUAN : Memuat latar belakang, tujuan Praktik
Industri, waktu dan tempat Praktik Industri, tujuan penulisan laporan
Praktik Industri, rumusan masalah, batasan masalah dan sistematika
pembahasan.
2. BAB 2 TINJAUAN PERUSAHAAN : Memuat segala sesuatu tentang PT.
Industri Telekomunikasi

Indonesia

(Persero),

mulai

dari

sejarah

berdirinya, Visi dan Misi perusahaan, struktur organisasi dan salah satu
divisi yang ada di PT. Industri Telekomunikasi Indonesia Bandung yaitu
divisi Pengembangan Produk tempat dimana kami melakukan praktik
industri.
3. BAB 3 DASAR TEORI : Memuat tentang teori dasar dari masing-masing
komponen terkait ilmu yang dipelajari, diantaranya : Django, Python
4. BAB 4 PEMBAHASAN : Memuat tentang instalasi python dan django,
langkah membuat project baru, membuat tabel pada database, dan
menampilkan database pada tampilan html.
5. BAB 5 PENUTUP : Memuat kesimpulan dan saran dari hasil kegiatan
Praktik Industri.

BAB II
TINJAUAN PERUSAHAAN
2.1 Sejarah PT. Industri Telekomunikasi Industri (Persero)
Perusahaan didirikan sebagai evolusi dari kerja sama PN Telekomunikasi
dan Siemen AG pada tahun 1966. Kerja sama ini berlanjut pada pembentukan
Pabrik Telepon dan Telegraf (PTT) sebagai Bagian dari LPP Postel pada tahun
1968. Pada tahun 1974, bagian ini dipisahkan dari LPP Postel menjadi sebuah
Perseroan Terbatas yang berada di bawah naungan Direktorat Jenderal Pos dan
Telekomunikasi. Pendirian Perusahaan ini didasarkan pada Peraturan Pemerintah
Republik Indonesia No: 34 tahun 1974 tanggal 23 September 1974 tentang
Penyetoran Modal Negara Republik Indonesia untuk Pendirian Perusahaan
Perseroan (Persero) di Bidang Industri Telekomunikasi dan Surat Keputusan
Menteri Keuangan Republik Indonesia No: Kep-1771/MK/IV/12/1974 tanggal 28
Desember 1974 tentang Penetapan Modal Perusahaan Perseroan.
PT INTI (Persero) resmi berdiri pada tanggal 30 Desember tahun 1974,
Bidang usaha INTI meliputi produk-produk radio sonde, radio High Frequency
(HF), radio Very High Frequency (VHF), pesawat telepon dan stasiun bumi untuk
Sistem Komunikasi Satelit Domestik (SKSD) Palapa. Produk stasium bumi yang
disebut terakhir ini mencatatkan sejarah dalam perkembangan INTI dengan
memberikan kontribusi pada prestasi penjualan tertinggi di periode ini, yaitu
sebesar 24,3 milyar rupiah di tahun 1981.
Pada periode tahun 2012 sampai sekarang, PT INTI (Persero)
memantapkan langkahnya untuk memasuki bisnis solusi Engineering, system
integrator dan pengembangan produk-produk genuine. Beberapa produk genuine
unggulan PT INTI antara lain: Smart PBX, General Purpose Agent (INTI Power
Utilities Monitoring & Control, Flood Forecasting and Warning System) IPERISALAH dan KWH Meter. Pengembangan untuk produk produk genuine
INTI lainnya masih berlanjut, seperti Converter Kit untuk BBM ke Gas, Smart
meter untuk Gas dan Air, EDC berbasis USSD dengan Telkomsel, Pembaca KTP

Elektronik, kerja sama pengembangan dan produksi untuk sistem transportasi


dengan PT KAI dengan produk Garansi (Pencegahan Pelanggaran Sinyal).
2.2 Visi dan Misi Perusahaan
1. Visi Perusahaan
Visi perusahaan ini adalah Smart Innovations For Better Life
2. Misi Perusahaan
a. Membangun sinergi inovasi nasional dalam rangka menyediakan
solusi cerdas di bidang telekomunikasi, informasi, elektronika dan
energi bagi peningkatan hidup masyarakat yang lebih baik;
b. Membangun kemandirian nasional di bidang IT untuk mewujudkan
industry strategis yang professional, efektif, dan inovatif;
c. Memaksimalkan nilai perusahaan serta mengupayakan pertumbuhan
yang berkesinambungan;
d. Berperan sebagai penggerak utama bangkitnya industry dalam negeri.
2.3 Struktur Organisasi
Struktur organisasi perusahaan merupakan bangunan fungsi bagianbagian
manajemen yang tersusun dari suatu kesatuan hubungan yang menunjukan
tingkatan fungsi, tugas, wewenang dan tanggung jawab dalam manajemen
perusahaan. Penerapan struktur organisasi di lingkungan PT. INTI (Persero)
berbentuk garis dan staf, dimana wewenang dari pimpinan dilimpahkan kepada
satuansatuan organisasi dibawahnya untuk semua bidang pekerjaan bantuan.
Struktur organisasi PT. INTI (Persero) saat ini adalah sebagai berikut :

Gambar 1 : Struktur Organisasi PT INTI

2.4 Divisi Pengembangan Produk


Penulis melaksanakan praktik indutri di PT INTI (Persero) Bandung pada
Divisi Pengembangan Produk. Tugas bagian Pengembangan Produk adalah
mengelola manajemen proyek dari A-Z, membuat prosedur dan petunjuk kerja,
mengoperasikan secara manual semua produk yang dikembangkan, mengkordinir
dokumen-dokumen dan membenahi manajemennya.

BAB III
DASAR TEORI
3.1 Django
Django adalah web framework yang berbasiskan bahasa pemrograman
Python. Django merupakan salah satu fullstack web framework yang populer di
kalangan programmer Python. (Santoso, 2015) Keunggulannya terletak pada
beragamnya dukungan terhadap berbagai database baik itu relasional maupun non
relasional.

Secara default,

Django

mendukung database relasional

seperti

PostgreSQL, SQLite, MySQL, dan Oracle. Django memiliki segudang fitur builtin yang dapat membantu Anda lebih mudah untuk membangun aplikasi. Django
merupakan fullstack web framework yang dirancang dan dibangun oleh Adrian
Holovaty dan Jacob Kaplan Moss. Awal mulanya Django merupakan web
framework internal yang dimiliki oleh kantor dimana Adrian Holovaty bekerja
sebagai jurnalis. Namun seiring perkembangannya, Django dirilis menjadi open
source. Beberapa fitur yang menjadi Andalan Django adalah:
1.
2.
3.
4.
5.
6.
7.

Sistem autentikasi built-in


Object relational mapper
Built-in template engine
Form dan ModelForm
Administrator page
Migration tool
Command-line tool
Django sendiri memiliki konsep MVT mungkin bisa dibilang mirip

dengan MVC tapi sebenarnya agak berbeda:


1.

Model adalah file yang berisi class untuk menggambarkan sebuah tabel

2.

pada database
Views adalah kumpulan function di dalam suatu modul yang akan
memproses request dan

3.

memberikan response,

sama

halnya

seperti controller di MVC


Template adalah file yang berisi HTML dan tidak ada kode Python di
dalamnya, sama halnya seperti views di MVC (Fajar, 2016)
Django yang dikembangkan oleh Django Software Foundation terus

mendapatkan perbaikan sehingga membuat web framework yang satu ini menjadi

10

pilihan utama bagi banyak pengembang aplikasi web. Saat ini, versi terbaru
Django adalah versi 1.10 dan dapat di unduh di laman resmi djangoproject.com.
3.1.1

Filosofi Desain Django


Django datang dengan filosofi desain berikut :
1. Loosely Coupled
Django bertujuan untuk membuat setiap elemen dari kumpulan
source code yang lain saling mendukung.
2. Less Coding
Penggunaan Kode yang lebih sederhana.
3. Don't Repeat Yourself (DRY)
Segala sesuatu harus dikembangkan hanya dalam satu tempat dan
bukannya mengulanginya lagi dan lagi.
4. Fast Development
Django adalah untuk melakukan semua

yang

bisa

untuk

memfasilitasi pengembangan hyper-fast.


5. Clean Design
Django tetap mempertahankan desain yang sederhana dari seluruh
kode

dan

membuatnya

mudah

untuk

mengikuti

praktek

pengembangan web.

3.1.2

Keuntungan dari Django


Berikut adalah beberapa keuntungan menggunakan Django yang dapat

dilihat dibawah ini:


1. Object-Relational Mapping (ORM) Support
Django menyediakan jembatan antara data model dan mesin database, dan
mendukung set besar sistem database yang termasuk MySQL, Oracle,
Postgres, dll. Django juga mendukung NoSQL database melalui Djangononrel

fork.

Untuk

saat

ini, hanya NoSQL database didukung

adalah MongoDB dan google app engine.


2. Multilingual Support (Dukungan Multi bahasa )
Django mendukung multi-bahasa situs web melalui sistem built-in
internasionalisasi. Sehingga kita dapat mengembangkan website kita, yang
akan mendukung beberapa bahasa.
3. Framework Support

11

Django memiliki built-in mendukung Ajax, RSS, Caching, dan berbagai


kerangka lain.
4. Administration GUI
Django menyediakan ready-to-use

user interface yang

kegiatan administrasi.
5. Development Environment (Pengembangan)
Django dilengkapi dengan server web ringan

untuk

bagus

untuk

memfasilitasi

pengembangan aplikasi end-to-end dan pengujian. (Kapalomen, 2016)


3.2 Bahasa Pemrograman Python
Python adalah sebuah bahasa pemrogramman yang mudah di pelajari dan
ampuh. Python memiliki struktur data tingkat tinggi yang efisien dan pendekatan
terhadap pemrogramman beorientasi object (OOP) yang sederhana namun efektif.
sintak python yang elegan dan typing dinamika,bersama-sama dengan sifatnya
yang terinterpreter ,menjadikan python bahasa yang ideal untuk pemrogramman
scripting dan rapid application development dalam berbagai bidang dan hampir
semua platfrom. (Yudana, 2016)
Python adalah salah satu bahasa pemrogramman tingkat tinggi yang
bersifat intrepreter,interaktif,object oriented dan dapat beroprasi di hampir semua
platfrom, seperti keluarga UNIX, Mac, Windows,OS/2 ,ataupun yang lain. Python
sebagai bahasa tinggat tinggi termasuk salah satu bahasa pemrogramman yang
mudah di pelajari karena syntaks yang jelas dan elegan, di kombinasikan dengan
penggunaan module-module siap pakai dan struktur data tingkat tinggi yang
efisien.
3.2.1 Sejarah Bahasa Python
Nama Python berasal dari salah satu acara komedi tahun 70-an yang
disiarkan oleh BBC. Menurut pembuat bahasa Python, Guido van Rossum.
Nama Python dipakai untuk memberikan suatu nama yang unik, pendek, dan
sedikit misterius. Oleh karena itu Python sama sekali tidak berhubungan
dengan salah satu reptil buas.

12

Python lahir pada tahun 1991 di ciptakan oleh Guido Van Rossum.
sejak di luncurkan sebagai public domain pada tahun 1992 ,bahasa
pemrogramman ini berkembang dengan dukungan komunitas pengguna dan
pengembang

seperti

Python

Software Activity, Internet

newsgroup,

comp.lang.python dan organisasi informal lainnya.


Python merupakan bahasa pemrogramman yang freeware tidak ada
batasan dalam penyalinannya atau mendistribusikannya. Paket python terdiri
atas source code, debugger dan profiler, fungsi sistem, GUI (antar muka
pengguna grafis) dan basis datanya.

3.2.2

Kegunaan Bahasa Python


Python dapat digunakan untuk pemrogramman yang memerlukan

dinamisme tinggi, waktu pengembangan yang cepat, aplikasi skala besar yang
yang memerlukan orientasi object dan juga fleksibelitas yang tinggi. Python
dapat di gunakan untuk membuat banyak aplikasi ,mulai dari aplikasi
perkantoran, aplikasi web, simulasi yang memerlukan tingkat tinggi, serta
administrasi sistem operasi.
Kelebihan python adalah mudah di gunakan dan merupakan bahasa
pemrogramman yang menawarkan jauh lebih banyak struktur dan dukungan
pada program besar di bandingkan yang di milik oleh shell.di sisi lain,python
juga menawarkan lebih banyak pengecekan kesalahan di bandingkan C dan
merupakan bahasa pemrogramman tingkat tinggi yang built-in seperti di list
dan dictionary yang fleksibel.yang memerlukan waktu berhari-hari untuk di
implementasikan secara efisien dalam C.di karenakan type datanya yang lebih
umum.,python dapat di aplikasikan ke ruang lingkup permasalahan yang jauh
lebih luas di bandingkan AWK dan bahkan PERL.
Python memungkinkan kita untuk membagi-bagi program menjadi
modul-modul yang dapat di gunakan kembali dalam program python lainnya.
Python mempunyai koleksi besar modul-modul standar yang dapat anda
gunakan sebagai dasar bagi program atau sebagai contoh untuk awal
mempelajari cara memprogram dengan python. Terdapat juga modul build-in

13

yang menyediakan fasilitas, seperti I/O file, system call, socket, bahkan
antarmuka untuk GUI toolkit seperti tkinter.
3.2.3

Kelebihan dan Kekurangan Bahasa Python


Python adalah bahasa di interpretasi, sehingga dapat menghemat

cukup banyak waktu dalam proses pengembangan program karena tidak


adanya tahap kompilasi dan pengalamatan, python juga memungkinkan kita
untuk menulis program yang sangat ringkas dan mudah di baca. Program yang
di tuliskan dengan pytohn biasanya lebih singkat di bandingkan dengan C/C+
+ karena beberapa alasan berikut:
1.

Tipe data yang bersifat tingkat tinggi dan memungkinkan kita untuk

2.

menjalankan operasi yang kompleks dengan hanya satu statement.


Pengelompokan statement di lakukukan dengan indentitas, bukan dengan
kurung-kurawal buka/tutup.

3.

Tidak di perlukan adanya pendeklarasian variabel ataupun argument,


sehingga program menjadi lebih sederhana, singkat dan lebih fleksibel

Namun, python juga memiliki beberapa kekurangan, diantaranya ;


1. Belum optimal untuk bekerja pada multi processor
2. Developer yang jumlahnya lebih sedikit terutama untuk segi komersial
3. Terbatasnya akses terhadap layer database.
4. Belum terlalu populer dibandingkan dengan bahasa yang lain.

14

BAB IV
PEMBAHASAN
4.1 Instalasi Python
Untuk membuat web database menggunakan bahasa python, hal yang
harus dilakukan adalah menginstalasi python pada perangkat komputer yang
digunakan. Python sendiri dapat diunduh secara gratis melalui alamat resmi
python https://www.python.org/download . Setelah diunduh langkah yang harus
dilakukan adalah sebagai berikut :
1. Run file python yang telah diundah
2. Tentukan direktori tempat instalasi python tersebut. Secara default file
akan tersimpan di c:\Python27
3. Setting system path di windows agar dapat mengenali python
a. Buka Windows Explorer, klik kanan pada Computer dikolom kiri,
pilih Properties.
b. Klik Advanced system settings, lalu klik Environment Variable
c. Pada System variables pilih Path lalu klik Edit
d. Tambahkan dibagian akhir path yang ada dengan ;c:\Python27 ;c:
\Python27\Scripts
e. Lalu klik OK hingga setting path selesai
4. Jalankan command prompt (CMD) pada Windows difolder manapun, run
>python, lalu akhiri keluar dengan Ctrl-Z enter.

Gambar 2 : Tampilan saat python sudah terinstal

15

Jika tidak ada pesan apapun seperti pada gambar diatas maka Python sudah
terinstal dengan benar.
4.2 Instalasi Django
Selain python, django pun harus kita install pada perangkat komputer yang
akan digunakan. Hingga saat ini, django sudah sampai django 1.10, namun django
yang digunakan pada laporan ini adalah django 1.9. File instalasi django dapat
diunduh di web resmi django https://www.djangoproject.com/download/. Setelah
file diunduh, hal yang harus dilakukan adalah sebagai berikut :
1.

Ekstrak file-file Django sesuai struktur folder-nya dengan bantuan Winrar

2.

atau WinZip. Misal ke folder c:\django


Jalankan command prompt (CMD) Windows, dan kemudian pastikan

berada dalam folder django tersebut.


3. Jalankan >python setup.py install
4. Python akan menginstall paket Django pada Python. Tunggu hingga
selesai.
5. Setelah kembali ke prompt, jalankan >phyton
6. Pada prompt phyton jalankan >>>import django
7. Jika tidak ada pesan apapun maka instalasi Django sudah benar. Keluar
dari Python dengan Ctrl-Z.

Gambar 3 : Tampilan saat django sudah terinstal

Jika setelah perintah >>>import django dijalankan dan tidak ada pesan apapun
berarti instalasi sudah benar.

16

4.3 Membuat Projek Baru dengan Django


1. Buka command prompt kemudian pilih direktori mana yang akan
digunakan untuk menyimpan file django tersebut

Gambar 4 : Memanggil file direktori

2. Pada direktori tersebut, kemudian buat direktori baru secara otomatis


dengan file-file pengaturan database django melalui command prompt

Gambar 5 : Membuat projek baru

database adalah nama project yang akan kita buat. Jika tidak ada notifikasi
error atau gagal, maka direktori akan terbuat secara otomatis pada
direktori D dengan nama database.

17

Gambar 6 : Letak file database

Di dalam proyek baru Django ada beberapa file yang perlu


dikenali:
a.

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
b.

baru, meng-generate database dari ORM ke RDBMS, dan lainnya


database/ _ _ 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

c.

beberapa file atau modul


database/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

d.

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
ke urls.pykemudian

dia

maka
akan

memproses requesttersebut,
adalah homepage.views.about

kita

akan

melihat views mana


misal

diarahkan
yang

akan

nama views-nya

18

e.

wsgi.py merupakan file yang akan digunakan ketika akan melakukan


proses deploy aplikasi Django di web server seperti Apache atau Nginx

3. Buat aplikasi krl melalui command prompt

Gambar 7 : Membuat aplikasi baru

4. Lakukan migrasi untuk melakukan pengembangan

Gambar 8 : Melakukan migrasi

5. Kemudian lakukan runserver untuk me-running program

19

Gambar 9 : Me-running program

6. Masuk ke halaman http://localhost:8000/ jika tampilan seperti gambar


dibawah ini, maka django sudah dapat berfungsi

Gambar 10 : Tampilan pertama django

4.4 Membuat Model untuk banyak Variabel


Untuk membuat Model pada django agar dapat menambahkan variabel
yang diinginkan dan bisa di atur isi dari variabel tersebuat berjenis seperti
teks,opsi,waktu dll. Model merupakan sebuah file yang terdapat di setiap aplikasi
Django. Di dalam Django dapat memiliki banyak aplikasi sesuai dengan
kebutuhan sistem. Setiap aplikasi Django biasanya terdiri dari:
a. model.py, berisi class yang merupakan representasi dari setiap tabel.
Tentunya sebuah class dapat memiliki fungsionalitasnya yang unik dari class
lainnya
b. views.py, berisi kumpulan fungsi yang akan diakses oleh user dengan
perantara URL yang didefinisikan di urls.py yang terdapat di aplikasi atau di
urls.py yang terdapat di folder project web yang kita buat
c. urls.py, berisi kumpulan URL yang didefinisikan untuk mewujudkan sistem
dan memberikan reaksi terhadap user. Setiap URL akan mengarah kepada
suatu fungsi di views.py

20

d. admin.py, berisi konfigurasi aplikasi yang ditampilkan di halaman admin


Django
e. tests.py, berisi testing yang digunakan untuk menguji aplikasi Django
f. __init__.py, merupakan sebuah file yang menjadi penanda bawa folder
tersebut merupakan module Python.
Untuk membuat sebuah aplikasi di Django, kita dapat melakukannya dengan
menggunakan perintah python manage.py startapp <nama_aplikasi> misalnya
aplikasi yang dibuat bernama tac:

Gambar 11 : Tampilan untuk membuat aplikasi

Setelah ituu akan terbentusebuah folder yang bernama tac sudah tercipta
dengan menggunakan perintah diatas. Folder tersebut berisi file admin.py,
__init__.py, tests.py, models.py, dan views.py. lalu kita akan mencoba membuat
tabel dengan mengandalkan model yang dimiliki Django. Jangan lupa untuk
mengubah hak akses dari folder tac. Salin kode berikut ke dalam file
models.py:
tac/models.py
from __future__ import unicode_literals
from django.db import models
class Gapeka(models.Model):
jadwal = models.DateTimeField('date Published')
namaRangkaian = models.CharField(max_length=200)
jalur = models.CharField(max_length=300)

21

stasiun = models.CharField(max_length=20)
rehat = models.DecimalField(max_digits=5, decimal_places=2)
arah = models.DecimalField(max_digits=5, decimal_places=2)
def __unicode__(self):
return self.namaRangkaian
class Rangkaian(models.Model):
namaRangkaian = models.ForeignKey(Gapeka,
on_delete=models.CASCADE)
jumlahGardan= models.PositiveIntegerField()
beratKereta = models.DecimalField(max_digits=5,
decimal_places=2)
pemilik = models.CharField(max_length=50)
nomorId = models.CharField(max_length=50)
def __unicode__(self):
return self.nomorId
class Transaksi(models.Model):
nomorId = models.ForeignKey(Rangkaian,
on_delete=models.CASCADE)
waktuLewat = models.DateTimeField('date Published')
beratKereta = models.DecimalField(max_digits=5,
decimal_places=2)
jumlahGardan = models.PositiveIntegerField()
kecepatan = models.DecimalField(max_digits=5,
decimal_places=2)
jalur = models.CharField(max_length=300)
def __str__(self):
return '%s' % (self.jalur)
class Tarif(models.Model):
waktuPergantian = models.DateTimeField()
jalur = models.ForeignKey(Transaksi, on_delete=models.CASCADE)
tarif = models.BigIntegerField()

Syntax admin.site.register digunakan agar kita dapat mengelola tabel


identitas di halaman admin django. Yang perlu diperhatikan dari source code di
atas adalah list_display harus diisi dengan field yang ada di model, digunakan
untuk menampilkan field apa saja yang akan ditampilkan pada halaman admin
django.
Setelah selesai mendaftarkan models pada admin, lakukan perintah python
manage.py makemigrations pada command prompt untuk menelusuri perubahan
yang sudah kita lakukan.

22

Gambar 12 : Tampilan tabel berhasil dibuat

Kemudian lanjutkan dengan perintah python manage.py migrate untuk


membuat tabel dan melakukan perubahan apa saja terhadap database yang akan
dibuat.

Gambar 13 : Melakukan migrasi

Untuk dapat melihat hasil migrasi kita dan mengelola tabel database, kita
perlu membuat superuser untuk mengakses halaman admin django. Lakukan
perintah python.manage.py createsuperuser pada command prompt, disana kita
dapat memasukan username, email dan password.

23

Gambar14 : Membuat username baru

Aplikasi yang kita buat sudah dapat kita jalankan di server dan melihatnya
di web browser. Kita hanya perlu menjalankan perintah python manage.py
runserver

Gambar 15 : Me-running program

Sekarang kita perlu mangeakses ke halaman http://localhost:8000/admin/.


Pada halaman tersebut kita tinggal memasukan username dan password yang
sudah dibuat sebelumnya.

24

Gambar 16 : Tampilan awal django admin

Gambar 17 : Tampilan setelah berhasil log in

Terlihat bahwa tabel yang kita buat menjadi beberapa variabel yang
berbeda fungsinya Pada halaman admin ini, kita bisa menambah dan menghapus
data pada tabel Identitas. Untuk menambah data pada tabel, kita hanya perlu
memilih add kemudian tambahkan data yang diperlukan.

25

Gambar 18: Tampilan Tabel Gapeka

Untuk menambah data baru pada tabel gapeka ini bisa dilakukan dengan
menekan tombol yang bertuliskan add Gapeka, setelah data yang diinput kita
save, maka secara otomastis, data tersebut akan tersimpan pada table gapeka
tersebut.

Gambar 19 : Tampilan Tabel Rangkaian

Gambar 20 : Tampilan Tabel Tarif

26

Gambar 21 : Tampilan Tabel Transaksi

4.5 Menampilkan login Form Pada halaman Awal Web


Setelah membuat admin dan models kita bisa menambahkan halawan
login web dengan menggunakan tampilan yang lebih menarik, pertama kita
lakukan pengunduhan static file sebagai tampilan yang dibuat dari CSS bisa di
unduh di :

https://github.com/narenaryan/website/blob/gh-pages/files/static.zip
Lalu pasang pada folder web yang akan kita tambahkan login Form. Ubah
pengaturan setting.py seperti berikut :
Charge/setting.py
# Add static folder to STATIC_DIRS
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
# Add templates to DIRS
TEMPLATES = [
{
'BACKEND':
'django.template.backends.django.DjangoTemplates',
'DIRS': ["templates"], #ubah bagian ini
'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',
],
},
},
]

27

Setelah itu kita akan buat tampilan home untuk user yang nantinya akan
digunakan setelah melakukan proses login, masukan source kode berikut :
tac/views.py
from django.conf.urls import url
from . import views
# We are adding a URL called /home
urlpatterns = [
url(r'^$', views.home, name='home'),
]

Lalu buat lagi urls.py di folder aplikasi charge dan masukan source kode
berikut :
tac/urls.py
# log/urls.py
from django.conf.urls import url
from . import views
# We are adding a URL called /home
urlpatterns = [
url(r'^$', views.home, name='home'),
]

Masukan kode berikut pada folder charge agar menampilkan tampilan


home berikut souce kodenya:
charge/urls.py
from django.conf.urls import include, url
from django.contrib import admin
# Add this import
from django.contrib.auth import views
from log.forms import LoginForm
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include('log.urls')),
url(r'^login/$', views.login, {'template_name':
'login.html', 'authentication_form': LoginForm}, name='login'),
url(r'^logout/$', views.logout, {'next_page': '/login'}),
]

Lalu buat folder templates pada web folder charge untuk memasukan
source kode html sebagai halaman dari web seperti base.html, login.html, dan
home.html.

28

Pada base.html kita masukan source kode berikut :


Templates/base.html
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Auth Demo</title>
<!-- Core CSS - Include with every page -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" datatoggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Rocky Balbo</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
aria-expanded="false">Account
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="/home">home</a>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li>
<a href="#">Separated link</a>
</li>
<li class="divider"></li>
<li>
<a href="/logout">Logout</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
{% block content %}
{% endblock %}

29

<!-- Core Scripts - Include with every page -->


<script src = "{% static 'js/jquery.min.js' %}"></script>
<script src = "{% static 'js/bootstrap.min.js' %}"></script>
{% block javascript %}
{% endblock %}

</body>
</html>

Pada login.html kita masukan source kode berikut :


templates/login.html
{% extends 'base.html' %}
{% block content %}
{% if form.errors %}
<p>username dan password tidak terdaftar. silahkan coba lagi.</p>
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p>akun tidak dapat mengakses layanan ini. silahkan,
melakukan login agar dapat mengakses layanan.</p>
{% else %}
<p>silahkan login untuk melihat halaman ini.</p>
{% endif %}
{% endif %}
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Please Sign In</h3>
</div>
<div class="panel-body">
<form method="post" action="{% url
'django.contrib.auth.views.login' %}">
{% csrf_token %}
<p class="bs-component">
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>

30

</tr>
</table>
</p>
<p class="bs-component">
\<center>
<input class="btn btn-success btn-sm" type="submit" value="login"
/>
</center>
</p>
<input type="hidden" name="next" value="{{ next }}" />
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascript %}

<script>
{% if not user.is_authenticated %}
$("ul.nav.navbar-nav.navbar-right").css("display","none");
{% endif %}
</script>
{% endblock %}

Pada home.hmtl kita masukan source kode berikut :


templates/home
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row">
<div class="jumbotron">
<h1>Helo</h1>
<p>ini adalah halaman awal </p>
</div>
</div>
</div>
{% endblock %}

Untuk dapat menampilkan login yang berbentuk form kita buat file forms.py di
folder tac dan masukan source kode seperti berikut :
tac/forms.py
from django.contrib.auth.forms import AuthenticationForm
from django import forms

31

class LoginForm(AuthenticationForm):
username = forms.CharField(label="Username", max_length=30,
widget=forms.TextInput(attrs={'class': 'form-control', 'name':
'username'}))
password = forms.CharField(label="Password", max_length=30,
widget=forms.PasswordInput(attrs={'class': 'form-control', 'name':
'password'}))

Terakhir lakukan migrasi pada django dengan memasukan kode berikut pada
terminal atau CMD:
$ python manage.py migrate
$ python manage.py createsuperuser
$ python manage.py runserver 8000
Lalu runserver pada terminal atau cmd, dan buka localhost:8000/login maka akan
muncul tampilan seperti berikut :

Gambar 22 : Tampilan login web

Masukan user yang telah kita buat, contohnya admin dan isi password lalu klik
login seperti berikut :

32

Gambar 23 : Tampilan login web saat memasukan username dan password

Dan akan muncul ke halaman selanjutnya yaitu Home atau halaman awal pada
web server berikut gambanya :

Gambar 24 : Tampilan Home web

33

BAB V
PENUTUP
5.1 Kesimpulan
Django adalah web framework yang berbasiskan bahasa pemrograman
Python. Dengan menggunakan django, kita bisa membuat web database dengan
lebih mudah. Kita hanya perlu mendefinisikan modul yang akan kita buat pada
file models.py dan pada admin.py.
Dalam hal ini django memiliki kelebihan karena basisnya adalah web
framework jadi source kode tidak terdiri dari satu source yang sudah berisi
tampilan, database, maupun javascript lainya di django ini kelebihannya adalah
memisahkan semua source kode menjadi beberapa bagian seperti views.py,
urls/py, form.py, dll semuanya bisa saling terintegrasi tanpa mencampur semua
kedalam satu source yang mengakibatkan terbentuknya source yang kompleks
dan sulit dipahami. Untuk itu django sangat mempermudah bagi pemula untuk
membuat suatu web yang berbasis framework dengan tampilan yang lebih
sederhana tetapi tetap terlihat seperti profesional develop web lainnya.
5.2 Saran
Penulis menyarankan sebelum membuat web database, alangkah lebih
baiknya kita sudah mengetahui kegunaan dari web database yang akan dibuat,
bagaimana web itu berjalan dan fasilitas apa yang akan disediakan pada web
tersebut. Hal ini akan memudahkan dalam membuat source code untuk web
tersebut.
Selain memahami pemrograman web menggunakan django, disarankan
agar mempelajari juga pemrograman web menggunakan framework lain sebagai
pembanding framework mana yang lebih efisien untuk digunakan.

34

DAFTAR PUSTAKA
Fajar, R. (2016). Memuat Modul Karyawan dan Kehadiran. Diambil kembali dari
https://www.codepolitan.com/membangun-aplikasi-mini-hrd-djangopengenalan-django-admin
Hatanto. (2014). Menginstall Python dan Django di Windows 7. Dimbil dari
https://hartanto.wordpress.com/2014/02/08/menginstall-python-dandjango-di-windows-7/
INTI. (2015). Diambil dari http://inti.co.id/index.php/id/
Kapalomen,
B.
(2016).
Framework
Django.
Diambil
dari
http://www.kapalomen.com/2016/06/django-framework-web-yang-cepatdan.html
Arya,Naren.(2016). right-way-django-authentication. diambil dari
http://blog.narenarya.in/right-way-django-authentication.html

35

LAMPIRAN-LAMPIRAN

Anda mungkin juga menyukai