• Tidak ada hasil yang ditemukan

Laporan Pengalaman Praktek Industri (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "Laporan Pengalaman Praktek Industri (1)"

Copied!
77
0
0

Teks penuh

(1)

LAPORAN PENGALAMAN LAPANGAN INDUSTRI

IMPLEMENTASI YII2 F RAMEWORK DALAM PEMBUATAN BACKEND

WEBSITE INFORMASI BISNIS

Oleh :

FANNY OKTAVIA 1306572/2013

PROGRAM STUDI S1 PENDIDIKAN TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

(2)

i

Halaman Pengesahan Perusahaan

Laporan Ini Disampaikan Untuk Memenuhi Sebagian dari Persyaratan Penyelesaian Pengalaman Lapangan Industri FT-UNP Padang

Semester Juli Desember 2016

Oleh Fanny Oktavia Nim: 1306572. 2013 Jurusan Teknik Elektronika

Program Studi Pendidikan Teknik Informatika dan Komputer

Diperiksa dan disahkan oleh: Supervisor

Muhammad Aser, S.Pd

Menyetujui Direktur

(3)

ii

Lembaran Pengesahan Fakultas

Laporan Ini Disampaikan Untuk Memenuhi Sebagian dari Persyaratan Penyelesaian Pengalaman Lapangan Industri FT-UNP Padang

Semester Juli Desember 2016

Oleh Fanny Oktavia Nim: 1306572. 2013 Jurusan Teknik Elektronika

Program Studi Pendidikan Teknik Informatika dan Komputer

Diperiksa dan disahkan oleh : Dosen Pembimbing

Yeka Hendriyani , S.Kom, M.Kom Nip: 198405202010122003

a.n. Dekan FT UNP Kepala Unit Hubungan Industri

(4)

iii

KATA PENGANTAR

Puji dan syukur penulis ucapkan atas kehadirat Allah SWT karena berkat rahmat, hidayah, dan karunia-Nya,penulis dapat menyelesaikan laporan Pengalaman Lapangan Industri (PLI) dengan baik dan benar. Shalawat beriringan salam untuk Nabi Muhammad SAW yang telah membawa umat manusia dari kejahiliyahan ke peradaban yang penuh ilmu pengatahuan.

Laporan Pengalaman Lapangan Industri ini disusun berdasarkan apa yang telah dikerjakan di PT Aka Solusi Teknologi, dimulai pada tanggal 13 Juni 2016 s/d 13 Agustus 2016. Laporan ini disusun untuk memenuhi syarat kelulusan mata kuliah Pengalaman Lapangan Industri pada jurusan Pendidikan teknik Informatika dan Komputer. Judul laporan ini yaitu “Implementasi YII2 Framework dalam

Pembuatan Backend Website Informasi Bisnis”.

Dengan segala kerendahan hati penulis mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Bapak Drs. Syahril, Ph.D selaku Dekan Fakultas Teknik Universitas Negeri Padang.

2. Bapak Drs. Hanesman, M.M selaku Ketua Jurusan Teknik Elektronika Universitas Negeri Padang.

(5)

iv

4. Bapak Thamrin selaku koordinator PLI Jurusan Elektronika FT UNP. 5. Ibu Yeka Hendriyani, S.Kom, M.Kom selaku dosen pembimbing PLI

6. Bapak Geovanne Farell ,S.Pd, M.Pd.T selaku direktur dan Bapak Muhammad Aser,S.Pd sebagai Supervisor di PT Aka Solusi Teknologi.

7. Karyawan PT Aka Solusi Teknologi

8. Orang tua dan seluruh keluarga yang selalu ada di setiap waktu dam selalu memberikan dukungan yang tak ternilai harganya

9. Teman-teman seperjuangan yang telah membantu dalam proses pelaksanaan PLI dan penyusunan laporan PLI.

Laporan ini disusun oleh penulis dengan segala upaya agar menghasilkan laporan yang baik. Kekhilafan dan kesalahan merupakan bagian dari proses kehidupan, jika terdapat kekhilafan dan kesalahan dalam penulisan Laporan Pengalaman Industri ini penulis mengharapkan kritikan dan saran pembaca demu bahan pembelajaran bagi penulis kedepannya.

Penulis berharap laporan ini bermanfaat bagi penulis dan pembaca, serta menjadi semangat dan motivasi bagi rekan-rekan yang akan melaksanakan PLI.

Padang, Agustus 2016

(6)

v

BAB I PENDAHULUAN ... 1

A.Latar Belakang Pelaksanaan PLI ... 1

B.Deskripsi Tentang Perusahaan / Instansi PLI ... 3

C.Perencanaan Kegiatan PLI ... 8

D.Pelaksanaan Kegiatan PLI ... 8

BAB II IMPLEMENTASI YII2 FRAMEWORK DALAM PEMBUATAN WEBSITE INFORMASI BISNIS ... 10

A.Teori Singkat ... 10

a. Framework ... 10

b. YII2 ... 12

c. MySQL ... 16

d. PHP ... 18

e. Back End ... 20

B.Proses Pengerjaan ... 20

a. Proses Penginstalan ... 20

b. Directory Pada YII2 Framework ... 23

c. Pembuatan Database ... 24

d. Menghubungkan Database pada YII2 ... 27

e. Generating Code dengan Gii ... 28

(7)

vi

g. Implementasi YII2 Framework pada Backend ... 34

BAB III PENUTUP ... 59

A.Kesimpulan ... 59

B.Saran ... 61

(8)

vii

DAFTAR GAMBAR

Gambar 1. Gambar Struktur Organisasi ... 6

Gambar 2. Skema MVC (Model, View, Controller) ... 11

Gambar 3. Inisialisasi project ... 22

Gambar 4. YII2 Berhasil di install ... 22

Gambar 5. Struktur Database Bisnis ... 24

Gambar 6. Database ... 26

Gambar 7. Halaman Yii Code Generator... 28

Gambar 8. Model Generator pada posting ... 29

Gambar 9. Model Generator yang sukses digenerate ... 29

Gambar 10. CRUD generator untuk Posting ... 30

Gambar 11. CRUD Generator berhasil ... 31

Gambar 12. Melakukan generate pada Controller Generator ... 31

Gambar 13. Controller Generate berhasil ... 32

Gambar 14. Submenu ... 32

Gambar 15. memasukkan template adminLTE pada main-local.php ... 33

Gambar 16. tampilan AdminLTE pertama kali install ... 33

Gambar 17. Merubah Warna AdminLTE ... 34

Gambar 18. tampilan AdminLTE dengan warna yang berbeda ... 34

Gambar 19. Menu Login saat pertama kali menginstall YII2 ... 35

Gambar 20. Menu Login setelah diterapkan tema adminLTE ... 35

Gambar 21. Menu Home pada Halaman Admin ... 36

Gambar 22. Posting ... 36

Gambar 23. Create Posting ... 37

Gambar 24. Kolom isi yang Menggunakan Widget TinyMce ... 38

Gambar 25. File Input dalam mnegupload file ... 40

Gambar 26. Dropdown list pada kategori ... 40

Gambar 27. View Posting ... 41

Gambar 28. Slider ... 44

Gambar 29. Create Slider ... 45

Gambar 30. View Slider ... 47

(9)

viii

Gambar 32. View Kategori ... 53

Gambar 33. Kontak ... 54

Gambar 34. Detail kontak ... 56

(10)

ix

DAFTAR TABEL

(11)

x

DAFTAR LAMPIRAN

Lampiran 1. Surat Permohonan Pengalaman Lapangan Industri Lampiran 2. Surat Balasan Perusahaan

Lampiran 3. Daftar Hadir PLI

Lampiran 4. Catatan Konsultasi Laporan dengan Supervisor

(12)
(13)
(14)

1

BAB I PENDAHULUAN

A. Latar Belakang Pelaksanaan PLI

Fakultas Teknik Universitas Negeri Padang sebagai salah satu lembaga pendidikan yang berupaya mengembangkan dan meningkatkan Sumber Daya Manusia (SDM), yakni menjadikan manusia seutuhnya yang memiliki wawasan ilmu pengetahuan dan teknologi (IPTEK) dan bertaqwa kepada Tuhan Yang Maha Esa.

Fakultas Teknik Universitas Negeri Padang (FT-UNP) juga berupaya melaksanakan program-program pendidikan yang betujuan menghasilkan lulusan yang tidak saja memahami ilmu pengetahuan dan teknologi akan tetapi juga mampu mempraktekkan serta mengembangkannya baik dalam pendidikan maupun didalam dunia industri.

Upaya yang dilakukan Fakultas Teknik Negeri Padang adalah mengadakan suatu program pengalaman yaitu dengan mengirim Mahasiswa-mahasiswanya keperusahaan yang relevan dengan jurusan masing-masing yang dinamakan dengan Pengalaman Lapangan Industri (PLI) yang merupakan salah satu syarat bagi mahasiswa Fakultas Teknik untuk menyelesaikan Pendidikan Diploma 3 (D3) dan Strara 1 (S1).

(15)

2

kuliah Pengalaman Lapangan Industri dengan nomor seksi 201610760063 dan 3 sks, PLI ini dilaksanakan selama 2 bulan dari tanggal 13 Juni 2016 – 13 Agustus 2016. Selain merupakan salah satu syarat untuk menyelesaikan pendidikan, PLI ini dilakukan untuk menambah wawasan dan merupakan wadah pengenalan lingkungan kerja untuk meningkatkan pengetahuan keterampilan. Sehingga pada saat memasuki dunia kerja. PT Aka Solusi Teknologi merupakan salah satu perusahaan yang bergerak di bidang teknologi informasi. Telah banyak produk yang dihasilkan seperti aplikasi yeng berbasis WEB, desktop, maupun mobile. PT Aka Solusi Teknologi memberikan layanan jasa pembuatan dan pengembangan aplikasi yang disesuaikan dengan kebutuhan klien. Salah satu produk yang dibuat yaitu “Website Informasi Bisnis”

1. Tujuan Penulisan

Tujuan dari Pelaksanaan Pengalaman Lapangan Industri FT UNP adalah sebagai berikut :

a. Merupakan salah satu sarana bagi mahasiswa untuk mengaplikasikan ilmu yang diperoleh diperkuliahan

b. Menambah wawasan dan pengetahuan tentang dunia kerja dengan memperhatikan, mempelajari, dan memahami proses kerja beserta aturan-aturannya.

(16)

2. Manfaat Pelaksanaan PLI

Kegiatan Pengalaman Lapangan Industri (PLI) ini memberikan pengalaman kerja bagi penulis di instansi terkait serta sebagai sarana dalam menambah ilmu pengetahuan dan wawasan dalam bidang Teknik Informatika. Selain itu kegiatan Pengalaman Lapangan Industri ini juga sebagai salah satu syarat untuk kelulusan di Program Studi S1 Pendidikan teknik Informatika dan Komputer

3. Waktu dan Tempat Pelaksanaan PLI

Pengalaman Lapangan Industri (PLI) ini dilaksanakan pada tanggal 7 Juni – 12 Agustus 2016 yang bertempat di PT. Aka Solusi Teknologi Jalan Ujung Gurun No. 87, Kelurahan Ujung Gurun, Padang, Sumatera Barat.

B. Deskripsi Tentang Perusahaan / Instansi PLI

(17)

1. Produk dan Layanan

a. Pengembangan Aplikasi

PT. Aka Solusi Teknologi menciptakan produk software dan dan website sesuai keinginan dan kebutuhan pelanggan. Mengikuti standar yang ditetapkan untuk penggunaan pribadi, organisasi dan perusahaan. Faktor keamanan dan kepuasan pelanggan, merupakan perhatian utama.

b. Integrasi Sistem

Sistem yang menyeluruh akan memudahkan pelanggan dalam pemanfaatan dan pemantauan. Dengan keahlian yang dimiliki PT. Aka Solusi Teknologi akan membantu pelanggan untuk mewujudkan kemudahan tersebut.

c. Konsultasi dan Training

Perkembangan yang sangat pesat dibidang Hardware dan Software, membutuhkan perencanaan yang matang untuk penggunan, sehingga keputusan yang ditetapkan efisien dari segi biaya dan efektif dari segi kinerja.

d. Pengadaan Peralatan IT

(18)

spesifikasi yang dipasarkan, PT. Aka Solusi Teknologi siap membantu customer dalam memenuhi kebutuhan tersebut.

2. Tempat dan Kedudukan PT. Aka Solusi Teknologi

Tempat dan kedudukan Kantor PT. Aka Solusi Teknologi bertempat di Jalan Ujung Gurun No. 87, Kelurahan Ujung Gurun, Padang, Sumatera Barat.

3. Bidang Pekerjaan PT. Aka Solusi Teknologi

(19)

4. Struktur Organisasi

Gambar 1. Gambar Struktur Organisasi

5. Disiplin Kerja

(20)

karyawan yang berisikan tentang hak-hak dan kewajiban masing-masing pihak dengan tujuan:

a. Memelihara hubungan kerjasama baik dinamis antara perusahaan dan karyawan.

b. Menggalang bersama untuk meningkatkan produktivitas kerja. c. Sebagai perlindungan yang dapat memberikan kapasitas terhadap

hak dan kewajiban pengusaha dan karyawan.

d. Terpelihara keserasian, kerapian dan kesejahteraan karyawan demi kelancaran aktifitas perusahaan.

6. Keselamatan Kerja

Teknologi informasi dan komunikasi merupakan teknologi tinggi yang akhir-akhir ini berkembang sangat pesat. Dengan diperkenalkannya teknologi yang baru di tempat kerja atau lingkungan rumah, aspek keshatan dan keselamatan kerja harus dipertimbangkan dengan seksama.

Aspek-aspek yang diperhatikan dalam bekerja dibidang TI adalah sebagai berikut:

a. Menggunakan komputer harus pada posisi yang benar dan jangan sampai terlalu lama, karena dapat menyebabkan kerusakan pada mata.

(21)

menggunakan pengamanan yang lengkap, seperti menggunakan safetybelt dan lain-lainnya.

C. Perencanaan Kegiatan PLI

Adapun rencana kegiatan yang dirinci tau disusun dalam melaksanakan PLI sebagai berikut:

Tabel 1.Pelaksanaan Praktek Lapangan Industri

No Tanggal Kegiatan

1 7 Juni 2016 Kunjungan Tempat Praktek 2 13 - 25 Juni 2016 Orientasi Lapangan

3 26 Juni – 1 Agustus 2016

Kegiatan Pengalaman Lapanagan Industri di PT. Aka Solusi Teknologi.

4 2-13 Agustus 2016

Perbaikan Aplikasi dan Pembuatan Laporan

D. Pelaksanaan Kegiatan PLI

Penulis melaksanakan PLI di PT. Aka Solusi Teknologi pada tanggal 7 Juni – 12 Agustus 2016. Adapun kegiatan yang dilaksanakan selama kerja praktek di PT. Aka Solusi Teknologi.

a. Kegiatan Umum

a. Pengenalan terhadap ruang lingkup kerja, tata tertib perusahaan dan struktur organisasi perusahaan.

(22)

b. Kegiatan Khusus

a. Mengerjakan website Bisnis sesuai dengan perintah dari Supervisor menggunakan framework YII2.

(23)

10

BAB II

IMPLEMENTASI YII2 FRAMEWORK DALAM PEMBUATAN WEBSITE INFORMASI BISNIS

A. Teori Singkat

a. Framework

Framework adalah kerangka kerja yang juga dapat diartikan sebagai kumpulan script (terutama class dan function) yang dapat membantu developer/programmer dalam menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database, pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih cepat membangun aplikasi. Bisa juga dikatakan Framework adalah komponen pemrorgaman yang siap re-use kapan saja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama dari awal. Framework menggunkan konsep MVC (Model,view,controller) sebagai asiterktur untuk membangun sebuah aplikasi.

 Konsep MVC

(24)

Gambar 2. Skema MVC (Model, View, Controller) Bagian dari MVC, yaitu :

1) Model

Model mewakili struktur data. Model berfungsi untuk mengontrol data, berupa CRUD (Create, Read, Update & Delete) pada database yang digunakan oleh sistem. Model berisi class dan fungsi seperti Controller, tidak seperti pada view . Pemanggilan model hampir sama dengan pemanggilan view, namun perbedaannya dalam pemanggilan model dilakukan dengan pemanggilan fungsi.

2) View

View adalah bagian yang mengatur tampilan ke pengguna. View berisi kode-kode html, css, maupun javascript yang digunakan sebagai tampilan web nantinya.

3) Controller

(25)

suatu data dan mengirimkannya ke halaman web. Controller yang menghandle input dari user.

b. YII2

Yii adalah framework (kerangka kerja) PHP berbasis-komponen,

berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Yii

menyediakan reusability maksimum dalam pemrograman Web dan

mampu meningkatkan kecepatan pengembangan secara signifikan.

Nama Yii (dieja sebagai /i:/) singkatan dari "Yes It Is!".

a. Fitur

Berikut ini beberapa fitur-fitur yang terdapat pada Yii :

1) Arsitektur programing menggunakan konsep Model, View, Controller atau biasa disebut MVC.

2) Object Relational Mapping atau ORM merupakan salah satu fitur di dalam Yii yang mengurusi pengelolaan database, jika

kita lihat secara spesifik maka Yii sebenarnya menyediakan

mekanisme seperti DAO (Data Access Object), Query Builder, Active Record(ORM) dan Database Migration. Dengan ORM pekerjaan developer menjadi terbantu karena

tidak lagi menulis query SQL yang rumit, cukup dengan

(26)

3) Form input dan Validasi adalah fitur yang mengatur inputan pada suatu form dan sekaligus membantu melakukan validasi pada inputan.

4) Widget merupakan konsep di Yii yang menyediakan komponen-komponen user interface yang siap pakai, misalnya data grid, autocomplete, tree view dan lain-lain. Adapun widget-widget ini ada yang terintegrasi dengan library Jquery sehingga memungkinkan untuk mekanisme AJAX.

5) Autentikasi hak akses dan Autorisasi loging dan logout. 6) Masalah tampilan (view) Yii menggunakan konsep skinning

kita bisa meng-costumize tampilan komponen user interface di aplikasi kita menggunakan CSS sedangkan dengan konsep Theming kita bisa mengganti-ganti seluruh tampilan aplikasi.

7) Web service, pada Yii dapat meng-generate

spesifikasi WSDL service secara otomatis.

8) Translasi, Yii menyediakan fitur penterjemah untuk pesan, tanggal dan format waktu sesuai zona waktu dan daerah. 9) Caching, dengan fitur caching akses terhadap aplikasi yang

dibangun menggunakan Yii akan lebih ringan ketika diakses oleh penggunanya.

10) Pesan Error dan Logging yang ada pada Yii bisa memilih untuk

(27)

Security di dalam Yii membantu dalam mencegah

serangan-serangan seperti SQL Injection, XSS, CSRF, Cookie Tampering, dan lain-lain.

11) 3rd Party, Yii telah di desain sedemikian rupa sehingga kita bisa memasang library external dari pihak ketiga untuk di sematkan dalam aplikasi.

12) Extension, Yii memiliki segudang extensions. Extension sendiri merupakan kontribusi dari pengguna-pengguna Yii dengan membuat widget, library ataupun component yang bisa dipakai dan belum ada di Yii secara built-in.

13) Dokumentasi Yii.

Dalam menggunakan framework YII2 ada beberapa hal yang harus diketahui oleh pengguna, yaitu sebagai berikut:

1. Persyaratan

Untuk menjalankan aplikasi Web berbasis Yii, diperlukan server Web yang mendukung PHP 5.1.0. Bagi para pengembang yang ingin menggunakan Yii, mengerti pemrograman berorientasi-objek (OOP) akan sangat membantu, karena Yii merupakan framework OOP murni.

2. Penggunaan Yii

(28)

caching yang canggih, Yii sangat cocok untuk pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem manajemen konten (CMS), sistem e-commerce, dan lain-lain. 3. Perbandingan Yii dengan Framework lain

Seperti kebanyakan PHP framework , Yii adalah MVC framework. Yii melampaui framework PHP lain dalam hal efisiensi, kekayaan-fitur, dan kejelasan dokumnetasi. Yii didesain dengan hati-hati dari awal agar sesuai untuk pengembangan aplikasi Web secara serius. Yii bukan berasal dari produk pada beberapa proyek maupun konglomerasi pekerjaan pihak ketiga. Yii adalah hasil dari pengalaman kaya dari para pembuat pada pengembangan aplikasi Web dan investigasi framework pemrogaraman Web dan aplikasi yang paling populer.

(29)

Tabel 2.Perbedaan YII2 Basic dan YII2 Advanced

c. MySQL

(30)

mereka juga menjual dibawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok dnegan penggunaan GPL.

Tidak sama dengan proyek-proyek seperti Apache, di mana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, di mana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael ”Monty” Widenius.

MySQL memiliki keistimewaan diantaranya:

1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.

3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. ‘performance tuning’, MySQL memiliki kecepatan yang

(31)

5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

6. Perintah dan fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).

7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan.

d. PHP

PHP adalah bahasa pemrograman script server-side yang didesain untuk mengembangkan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum. PHP dikembnagkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs resmi PHP beralamat di http://www.php.net .

(32)

perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dll. PHP dapat digunakan dengan gratis dan bersifat open source. PHP dirilis dalam lisensi PHP Lisence, sedikit berbeda dengan lisensi GNU General Public Lisence (GPL) yang biasa digunakann untuk proyek Open Source.

Kelebihan PHP dari bahasa pemrograman lain yaitu :

1) Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.

2) Web Server yang mendukung PHP dapat ditemukan dimana- mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.

3) Dalam pengembangannya lebih mudah karena banyak milis – milis dan developer yang siap membantu dalam pengembangan.

4) Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi paling banyak.

(33)

e. Back End

Back End adalah istilah halaman belakang pada situs bersistem CMS (Content Management System). Memungkinkan seseorang untuk masuk sebagai administrator dan melakukan perubahan informasi dalam website mereka. Untuk memiliki tingkatan halaman yang aman , setidaknya halaman Back-end dilindungi dengan https dan juga SSL yang akan membuat enskripsi menjadi aman , dan juga password administrator yang berformat MD5. Dengan memiliki halaman Back-end akan memudahkan seorang user untuk meng-update situs mereka. Pada CMS konsep Back-end haruslah benar-benar aman , sebab jika seorang hacker dapat menembusnya maka mereka dapat melakukan apa-apa terhadap situs. Biasanya back-end page ini dapat diakses dengan mengetikkan beberapa nama direktori khusus admin.

Tingkatan User biasanya akan berdampak kepada kemampuan mereka dalam mengakses beberapa menu. Tingkatan tertinggi terdapat pada Super Administrator, administrator, Global Publisher, Publisher.

B. Proses Pengerjaan

a. Proses Penginstalan

(34)

aplikasi web berbasis PHP. Untuk mendownload composer, bisa di download di getcomposer.org/download. Selanjutnya, lakukan penginstallan YII2 framework sebagai berikut :

a. Buka command prompt

b. Masuk ke directory xampp, ketikkan cd c:\xampp\php pada command prompt

c. Lalu ketik

d. Update composer, ketikkan

e. Buat project baru dengan mengetikkan kode berikut :

f. Kemudian ketik

g. Lalu inisialisasi project dengan mengetikkan

php.exe -r

"readfile('https://getcomposer.org/installer');" |

php.exe

php.exe composer.phar self-update

php.exe composer.phar global require

"fxp/composer-asset-plugin:1.0.0-beta3"

php.exe composer.phar createproject preferdist

--stability=dev yiisoft/yii2-app

advanced ../htdocs/bisnis1

(35)

h. Lalu akan ada pilihan 0 untuk Development or 1 untuk Poduction, pilih 0 lalu enter , Lalu ada pertanyaan lagi , ketik yes

Gambar 3. Inisialisasi project

i. Project sudah terinstal. Untuk menguji , ketikkan localhost/bisnis1/backend/web pada browser , maka akan tampil sebagai berikut :

(36)

b. Directory Pada YII2 Framework

Ketika menginstall yii dengan advanced application template, maka kita akan menjumpai beberapa folder utama dan beberapa file, berikut ini penjelasan mengenai fungsi masing-masing folder :

a. backend – pengembangan web yang berhubungan dengan database dan sistem

b. common – common file untuk semua aplikasi. c. console – aplikasi console.

d. environments - konfigurasi environment

e. frontend - – pengembangan web yang berhubungan dengan disain tampilan

Penjelasan untuk beberapa file :

a. .gitignore berisi daftar direktori diabaikan oleh sistem versi git. Jika ada kode yang dibutuhkan, tapi ada di repository, tambahkan disini. b. composer.json – Penjelasan tentang konfigurasi composer

c. init – Inisialisasi script d. init.bat - same for Windows.

e. LICENSE.md – Info lisensi project

f. README.md – Informasi dasar tentang penginstallan g. requirements.php – Syarat-syarat untuk penginstallan yii h. yii - console application bootstrap.

(37)

Intinya, ada 3 aplikasi yaitu frontend, backend dan console.

1) Frontend adalah aplikasi web yang akan ditampilkan untuk end user. 2) Backend adalah aplikasi web yang berfungsi untuk administrator

dalam mengelola aplikasi frontend.

3) Console adalah aplikasi yang digunakan untuk cron jobs and low-level server management, serta digunakan selama deployment aplikasi dan menghandle migrations dan assets.

4) Folder common berisi file-file yang digunakan oleh lebih dari satu aplikasi, sebagai contoh global configuration seperti pengaturan koneksi

database, atau general model seperti model user.

c. Pembuatan Database

Database yang dibentuk adalah sebagai berikut:

(38)

Dengan nama database bisnis, diisikan tabel – tabel seperti berikut ini :

Nama Tabel Field

User id (int :11 primarykey)

username (varchar : 255) auth_key (varchar : 32) password_hash(varchar :255) password_reset_token(varchar :255) email (varchar :255)

status (smallint : 6) created_at (int :11) updated_at (int :11)

Posting idPosting (int : 11 primarykey) judul (varchar :200)

Slider idSlider (int :11) primarykey judul (varchar :255)

foto (varchar :255)

Kategori idKategori (int :11)

(39)

Contact id_contact (int :11) primary key phone (int :11)

nama (varchar :255) email (varchar :255) pesan (text)

waktu (datetime)

Comment idComment (int :11 primary key) content (text)

status (int :15) create_time (int :11) uname (varchar :128) email (varchar : 128)

idPosting (int :11 foreign key)

(40)

d. Menghubungkan Database pada YII2

1) Buka pada folder common dan pilih folder config 2) Kemudian pilih main-local.php

3) Akan keluar script seperti berikut ini :

(41)

4) Pada script 'dsn' => 'mysql:host=localhost;dbname=””',ganti ‘””’ menjadi ‘bisnis’

e. Generating Code dengan Gii

1) Ketikkan pada kolom search

“localhost/bisnis/backend/web/index.php?r=gii”, klik enter

2) Kemudian akan masuk ke halaman Yii Code Generate seperti pada gambar di bawah ini

Gambar 7. Halaman Yii Code Generator

(42)

Gambar 8. Model Generator pada posting

4) Lakukan hal tersebut pada nama – nama tabel yang kita buat. Kemudian di preview, setelah dipreview kemudian generate, jika sukses maka tampilannya akan menjadi seperti ini :

(43)

Kemudian ketika sudah selesai pada model generator, beralih ke CRUD Generator, lakukan hal yang sama pada tabel lain. Pada CRUD Generator Posting isi kolom seperti berikut ini :

o Model Class : common\models\Posting

o Search Model Class : backend\models\PostingSearch o Controller Class : backend\controllers\PostingController

Gambar 10.CRUD generator untuk Posting

(44)

Gambar 11. CRUD Generator berhasil

6) Dan terakhir pada Controller Generator, lakukan juga pada semua tabel. Contoh controller generator untuk posting

Gambar 12. Melakukan generate pada Controller Generator

(45)

Gambar 13. Controller Generate berhasil

8) Ketika generate selesai, maka akan tampil pada menu submenu – submenu yang sudah dibuat pada database.

Gambar 14. Submenu

f. Menambah Template AdminLTE pada Halaman Admin

1) Pastikan komputer terhubung dengan internet, kemudian buka CMD ketikkan perintah berikut ini composer require

dmstr/yii2-adminlte-asset “2.*”

(46)

Gambar 15. memasukkan template adminLTE pada main-local.php

3) Lalu coba lihat di WEB browsernya, localhost/bisnis/backend/web, lalu tekan enter. Maka hasilnya akan menjadi seperti ini

Gambar 16. tampilan AdminLTE pertama kali install

(47)

classnya, skin awal saat penginstallan yaitu skin-blue seperti gambar : ,maka diubah menjadi skin-blue-light.

Gambar 17. Merubah Warna AdminLTE

Gambar 18. tampilan AdminLTE dengan warna yang berbeda

g. Implementasi YII2 Framework pada Backend

1. Menu Login

(48)

Gambar 19. Menu Login saat pertama kali menginstall YII2

Gambar 20. Menu Login setelah diterapkan tema adminLTE 2. Menu Home

(49)

mempermudah administrator dalam meng-update situs webnya. Contoh yang telah di buat submenunya beserta source codenya seperti berikut ini:

Gambar 21. Menu Home pada Halaman Admin

a) Posting

Pada posting disediakan menu untuk menambah halaman posting dan melihat apa saja daftar informasi dari posting tersebut

(50)

1) Create Posting

Gambar 23. Create Posting

Agar pada form posting terlihat rapi, maka setiap kolomnya disusun dengan cara buka file pada views - posting - _form.php, lalu menambahkan <div class = row> seperti script berikut ini:

<div class ="row">

<div class="col-xs-6 col-md-4">

<?= $form->field($model,

'judul')->textInput(['maxlength' => true]) ?>

</div>

<div class="col-xs-6 col-md-4">

<?= $form->field($model, 'file')->fileInput() ?>

</div>

(51)

<?= $form->field($model,

'idKategori')-

>dropDownList(ArrayHelper::map(kategori::find()->all(), 'idKategori', 'namaKategori'), ['prompt'

=> 'Kategori Artikel']) ?></div>

Agar pada kolom isi bisa di rubah font dan ada tambahan toolbar serta pluginsnya, maka rubah widgetnya dengan TinyMce.

Gambar 24. Kolom isi yang Menggunakan Widget TinyMce

<div class="col-md-12"><?=

$form->field($model,

'isi')->widget(TinyMce::className(), [

'options' => ['rows' => 20],

'clientOptions' => [

'plugins' => [

"advlist autolink lists link charmap

print preview anchor",

"searchreplace visualblocks code

(52)

"insertdatetime media table

contextmenu paste"

],

'toolbar' => "undo redo | styleselect |

bold italic | alignleft aligncenter alignright

alignjustify | bullist numlist outdent indent

| link image"

]

]);?></div>

</div>

Lalu pada kolom file, diharuskan untuk mengunduh sebuah file, maka diperlukan button telusuri file dengan menggunakan file input. Buka file pada views – posting – _form.php. tambahkan script berikut ini:

<div class="col-xs-6 col-md-4"><?=

$form->field($model, 'file')->fileInput() ?>

</div>

Setelah itu buka file pada controllers – PostingControllers.php, masukkan script berikut :

$model->file =

UploadedFile::getInstance($model,'file');

if ($model->file){

$model->foto= $tgl.'.'

(53)

>file->saveAs('uploads/posting/'.

$model->foto);

Dalam mengupload file jangan lupa untuk membuat folder di dalam folder web dengan nama uploads.

Gambar 25. File Input dalam mnegupload file

Kemudian beralih ke kolom kategori , dimana pada kolom kategori yang berada pada tabel posting tersebut berelasi dengan tabel kategori. Semua informasi yang akan diinputkan dan dipost oleh administrator, disesuaikan dengan kategori bisnis yang telah disediakan. Maka pada kolom kategori menggunakan dropdown list, agar dapat menyesuaikan dalam kategori apakah bisnis yang akan diposting oleh administrator.

Gambar 26. Dropdown list pada kategori

<div class="col-xs-6 col-md-4">

<?= $form->field($model, 'idKategori')-

(54)

>dropDownList(ArrayHelper::map(kategori::find()->all(), 'idKategori', 'namaKategori'), ['prompt'

=> 'Kategori Artikel']) ?></div>

2. View Posting

Gambar 27. View Posting

Pada menu lihat posting, akan ditampilkan beberapa postingan yang telah ditambahkan oleh administrator. Postingan dapat diupdate, dihapus, dan dilihat (view) tampilannya. Untuk meng-update postingan, maka dibutuhkan source code berikut :

<?php

use yii\helpers\Html;

$this->title = 'Update Posting: ' .

$model->idPosting;

$this->params['breadcrumbs'][] = ['label' =>

'Postings', 'url' => ['index']];

$this->params['breadcrumbs'][] = ['label' =>

>idPosting, 'url' => ['view', 'id' =>

(55)

$this->params['breadcrumbs'][] = 'Update';

?>

<div class="posting-update">

<div class="box box-info">

<div class="box-header">

<h4>Update Data Posting</h4>

<div class="box-tools pull-right">

<button type="button" class="btn

btn-box-tool" data-widget="collapse"><i class="fa

fa-minus"></i>

Kemudian buka pada controller postingan di controllers/PostingController.php, pada action updatenya masukkan source code berikut :

public function actionUpdate($id)

{

(56)

$model = $this->findModel($id);

$model->foto = $tgl. '.' .

$model->file->extension;

return $this->redirect(['index']);

} else {

return $this->render('update', [

'model' => $model,

(57)

}

}

private function deleteImg($img){

$baseUrl =

Yii::getAlias('uploads/posting/'.$img);

@unlink($baseUrl);

}

Tujuan memasukkan action updatenya agar data lama yang sudah tak diperlukan lagi otomatis akan terhapus, contohnya pada image ketika diupdate, image yang lama akan terhapus dan akan diganti dengan image yang baru. Sehingga folder yang akan menyimpan gambar tersebut tidak menyimpan gambar lama dan tidak memenuhi penyimpanan harddisk. b) Slider

1. Create Slider

(58)

Gambar 29. Create Slider

Pada slider akan ditampilkan image yang akan muncul pada bagian frontend web bisnis, dimana slider ini bertujuan untuk menampilkan gambar yang berhubungan dengan web bisnis yang terletak pada bagian atas halaman awal di frontend. Administrator bertugas untuk memasukkan gambar pada slidernya.

Untuk mencreate slider tersebut, Pada judul slider, menggunakan text input dan filenya menggunakan file input, berikut source codenya pada file di folder views/slider/_form.php :

<?php $form = ActiveForm::begin(['options' =>

['enctype' => 'multipart/form-data']]) ?>

<?= $form->field($model,

'judul')->textInput(['maxlength' => true]) ?>

<?= $form->field($model, 'file')->fileInput() ?>

Kemudian ubah juga pada controllersnya di

SliderContorollers.php pada actionCreatenya:

public function actionCreate()

{

(59)

if ($model->load(Yii::$app->request->post()) )

{

$imageName = $model->judul;

//get upload file

$model->file =

UploadedFile::getInstance($model,'file');

if ($model->file){

$model->foto= $imageName.'.'

.$model->file>extension;

$model->file->saveAs('uploads/slider/'.

$model->foto);

//save the path in db colomn

$model->save();

return $this->redirect(['view', 'id' =>

(60)

Kemudian buat folder untuk file imagenya di uploads/slider. 2. View Slider

Gambar 30. View Slider

Pada view slider menampilkan slider yang sudah dicreate, dan bisa update serta menghapus slider. Berikut source code untuk menampilkan slider pada slider/view.php :

<div class="slider-view">

<div class="box box-solid box-info">

<div class="box-header">

<h3 class="box-title">Detail

Slider</h3>

<div class="box-tools pull-right">

<?= Html::a('<i class="fa fa-fw

fa-plus-square"></i>Create', ['create', 'id' =>

$model->idSlider], ['class' => 'btn

btn-primary']) ?>

<?= Html::a('<i class="fa fa-fw

fa-pencil-square"></i>Update', ['update', 'id' =>

$model->idSlider], ['class' => 'btn

(61)

<?= Html::a('<i class="fa fa-fw

fa-trash"></i>Delete', ['delete', 'id' =>

$model->idSlider], ['class' => 'btn btn-primary','data'

=> ['confirm' => 'Are you sure you want to delete

this item?', 'method' => 'post',],]) ?>

(62)

],

Kemudian untuk mengupdate dan menghapus slider, source codenya pada SliderController.php :

public function actionUpdate($id)

{

$model = $this->findModel($id);

$oldImg = $model->foto;

$imageName = $model->judul;

if ($model->load(Yii::$app->request->post()))

(63)

return $this->redirect(['index']);

public function actionDelete($id)

(64)

c) Kategori

1. Create Kategori

Gambar 31. Create Kategori

Tabel kategori bertujuan untuk membagi jenis – jenis postingan bisnis berdasarkan kategorinya. Pada web bisnis ini kategorinya dibedakan menjadi fashion, food, IT, dan bisnis ekonomi. Source code untuk create kategori pada

kategori/_form.php:

<div class="kategori-form">

<div class="box-body">

<?php $form = ActiveForm::begin(); ?>

<?= $form->field($model,

'idKategori')->textInput() ?>

<?= $form->field($model,

'namaKategori')->textInput(['maxlength' => true]) ?>

(65)

<?= Html::a('<i class="fa fa-fw

fa-reply-all"></i>Back', ['index', 'id' =>

$model->idKategori], ['class' => 'btn btn-default']) ?>

<?= Html::submitButton($model->isNewRecord ?

'Create' : 'Update', ['class' =>

$model->isNewRecord ? 'btn success' : 'btn

btn-primary']) ?>

</div>

<?php ActiveForm::end(); ?>

</div>

</div>

Kemudian pada KategoriController.php :

public function actionCreate()

{

$model = new Kategori();

if

($model->load(Yii::$app->request->post()) && $model->save()) {

(66)

2. View Kategori

Gambar 32. View Kategori

Pada view kategori ada beberapa tombol seperti view, update, dan delete. Source codenya pada KategoriController.php adalah sebagai berikut :

public function actionView($id)

{

return $this->render('view', [

'model' => $this->findModel($id),

]);

}

public function actionUpdate($id)

{

$model = $this->findModel($id);

if

($model->load(Yii::$app->request->post()) && $model->save()) {

return $this->redirect(['view', 'id' =>

$model->idKategori]);

(67)

return $this->render('update', [

'model' => $model,

]);

}

}

public function actionDelete($id)

{

$this->findModel($id)->delete();

return $this->redirect(['index']);

}

d) Contact

Gambar 33. Kontak 1. View Contact

Pada kontak kita hanya bisa melihat dan menghapus data kontak yang telah diinputkan oleh user pada frontend. Kontak juga tidak ditambahkan atau diinputkan oleh admin karena kontak digunakan untuk user yang ingin mengirim pesan atau kesan.

(68)

$this->title = $model->id_contact;

$this->params['breadcrumbs'][] = ['label' =>

'Contacts', 'url' => ['index']];

$this->params['breadcrumbs'][] = $this->title;

?>

<div class="contact-view">

<div class="box box-solid box-primary">

<div class="box-header">

fa-trash"></i>Delete', ['delete', 'id' =>

$model->id_contact], [

'class' => 'btn btn-danger',

'data' => [

'confirm' => 'Are you sure you

want to delete this item?',

'method' => 'post',

],

]) ?>

<button class="btn btn-primary btn-sm"

data-widget="collapse"><i class="fa

fa-minus"></i></button>

</div>

(69)

<div class="box-body">

<?= DetailView::widget([

'model' => $model,

'attributes' => [

'id_contact',

'phone',

'nama',

'email:email',

'pesan:ntext',

'waktu',

],

]) ?>

</div>

</div>

Gambar 34. Detail kontak e) Comment

1. View Comment

(70)

Source code untuk menampilkan komentar :

Gambar 35. Detail komentar

$this->title = $model->idComment;

$this->params['breadcrumbs'][] = ['label' =>

'Comments', 'url' => ['index']];

$this->params['breadcrumbs'][] = $this->title;

?>

<div class="comment-view">

<div class="box box-solid box-primary">

<div class="box-header">

<h3 class="box-title">Detail Comment</h3>

<div class="box-tools pull-right">

<?= Html::a('<i class="fa fw

fa-trash"></i>Delete', ['delete', 'id' =>

$model->idComment], ['class' => 'btn btn-danger','data'

=> [

'confirm' => 'Are you sure you want to delete this

item?',

(71)

],

]) ?>

<button class="btn btn-primary btn-sm"

(72)

fa-59

BAB III PENUTUP A. Kesimpulan

Setelah melakukan kegiatan Pengalaman Lapangan Industri (PLI) di PT. AKA Solusi Teknologi, penulis mendapatkan beberapa kesimpulan bahwa:

1. Kesimpulan Umum

a. PT. AKA Solusi Teknologi memberikan waktu deadline proses pengerjaan sebuah program

b. PT. AKA Solusi Teknologi sangat menjunjung tinggi kedisiplinan dan tata tertib pada karyawan selama bekerja. Bukan hanya karyawan, siswa ataupun mahasiswa magang di perusahaan tersebut juga harus mengikuti tata tertib yang telah ditetapkan PT. AKA Solusi Teknologi. Salah satunya itu jadwal jam masuk, jam istirahat, jam pulang yang sudah menjadi ketetapan tata tertib perusahaan tersebut.

2. Kesimpulan Khusus

(73)

untuk membuat backend dari “Website Informasi Bisnis” dengan alasan sebagai berikut:

a. YII 2 Framework menggunakan pola MVC, pola standar pengembangan aplikasi yang memisahkan tampilan, logic program, dan modelnya sehingga website lebih terstruktur

b. Menggunakan database abstraction layer seperti Data Access Objects (DAO) dan Active Record untuk memudahkan interaksi antar database. Sehingga tidak perlu lagi memikirkan crud untuk input data.

c. Penggunaan tema, memudahkan pengembangan aplikasi dalam merancang tampilan aplikasi.

d. Console, penggunaan perintah pada console untuk melakukan beragam perintah otomatis seperti mengenerate struktur dasar aplikasi, model,crud, dan sebagainya.

e. Widget, semacam kontrol yang memiliki fungsi seperti auto complete, datapicker,table dan lain – lain. Menggunakan Jquery sebagai javascript client sidernya.

(74)

g. Modular dan mudah ditambahkan dengan dukungan extensi dan komponen tambahan sehingga beragam fitur tambahan dengan mudah dimasukkan.

h. Autentikasi dan Autorisasi, Yii sudah menyediakan mekanisme Autentikasi(login, logout) dan Autorisasi(hak akses) terhadap pengguna sistem, sehingga kita tidak perlu lagi repot-repot membuat dari pertama. i. Security, Yii memiliki fitur keamanan yang membantu dalam mencegah serangan-serangan seperit SQL Injection, XSS, CSRF, Cookie Tampering dll

j.Extensions, Yii memiliki segudang extensions. Extension sendiri merupakan kontribusi dari pengguna-pengguna Yii dengan membuat widget, library ataupun component yang bisa dipakai dan belum ada di Yii secara built-in.sudah menjadi ketetapan tata tertib perusahaan tersebut.

B. Saran

Setelah melakukan kegiatan Pengalaman Lapangan Industri di PT AKA Solusi Teknologi maka penulis dapat memberikan saran dalam pelaksanaan Pengalaman Lapangan Industri diantaranya :

Dengan adanya kegiatan Pengalaman Lapangan Industri ini diharapkan adanya hubungan kerjasama yang baik antara pihak perusahaan dengan mahasiswa dan Fakultas.

(75)

Agar kegitan PLI lebih memberikan pengalaman seperti layaknya berada di dunia kerja nyata , sebaiknya diberikan pengawasan dan pelakuan layaknya pegawai tetap. Menggunakan pakaian seragam, masuk dan pulang sesuai dengan jam kerja.

(76)

63

DAFTAR PUSTAKA

1. Fahrurroji,Ahmad.2014.”Perbedaan antara Frontend dan Backend”. http:// afahrurroji.net/perbedaan-antara-frontend-dan-backend/, diakses 11 Agustus 2016.

2. Mukhlasin,Hafid. 2016. “YII Framework Archive”. http://www.hafidmukhlasin.com/. Diakses pada 14 September 2016.

3. Pratama,Andre.2013.” Belajar HTML Dasar Part 5: Pengertian Tag, Elemen, dan Atribut pada HTML”. http://www.duniailkom.com/ , diakses 5 September

2016.

4. Unit Hubungan Industri. 2015. Buku Pedoman Pengalaman Lapangan Industri (PLI) Mahasiswa FT UNP. Padang: FT UNP.

5. Wikipedia. 2016. “JavaScript”. https://id.wikipedia.org/wiki/JavaScript, diakses tanggal 14 September 2016.

(77)

Gambar

Gambar 32. View Kategori ...........................................................................
Gambar 1. Gambar Struktur Organisasi
Tabel 1. Pelaksanaan Praktek Lapangan Industri
Gambar 2. Skema MVC (Model, View, Controller)
+7

Referensi

Dokumen terkait

Siswa kelompok tinggi mampu menuliskan dan menjelaskan hubungan antar konsep matematika yang digunakan untuk menjawab soal yang diberikan Mengenali dan menerapkan matematika

Sehingga rekomendasi yang di dapat dari hasil penelitian ini adalah motivasi kerja karyawan pada PT BPD JATIM Kantor Cabang Surabaya dapat ditingkatkan lagi dengan cara

Biringkanaya Kota Makassar, atau setidak-tidaknya pada tempat lain yang masih termaksud dalam daerah Hukum Pengadilan Negeri Makassar yang berwenang memeriksa dan

• Pengukuran fisiologi dapat dipergunakan untuk membandingkan cost energy pada suatu pekerjaan yang memenuhi waktu standar, dengan pekerjaan serupa yang tidak standard,

Pertahanan nasional merupakan kekuatan bersama antara sipil dan militer yang diselenggarakan oleh suatu negara untuk menjamin keamanan wilayahnya, perlindungan dari

Data masukan yang diperlukan yaitu: curah hujan, evapotranspirasi potensial (ETP), lengas tanah pada tingkat kapasitas lapang (KL) masing-masing jenis tanah, dan kandungan

adalah tipe pasang surut campuran condong ke harian ganda, yaitu dalam satu hari terjadi dua kali pasang dan dua kali surut tetapi kadang-kadang terjadi satu

Didalam hal ini penyusunan pos retribusi daerah terutama retribusi pelayanan pasar sudahkah sesuai dengan SAP dan Permendagri No 13 Tahun 2006 yang berlaku dengan