Framework Lira
Framework Lira
Nim : 221001076
Kelas : Informatika C
SOAL:
1. Sebutkan kelebihan dan kekurangan dari Framework Laravel! (point: 10)
2. Jelaskan fungsi dari setiap folder pada project laravel berikut ini : (point: 20)
3. Jelaskan yang dimaksud dengan (point: 10)
a. Artisan
b. Git
c. Kernel
d. Application Environment
4. Jelaskan fungsi MVC pada Laravel seperti pada gambar berikut: (point: 20)
5. Jelaskan fungsi dari Services Provider pada laravel! (point: 10
) 6. Jelaskan yang dimaksud Routing pada Laravel! (point: 10)
7. Jelaskan yang dimaksud Blade pada Laravel! Berikan contoh nya! (point: 10)
8. Berikan contoh penggunaan Kode Response Header! (point: 10)
JAWABAN:
1. Kelebihan Laravel
Sangat mudah dipelajari untuk pemula.
Proses developing menjadi lebih praktis.
Laravel ini sudah digunakan di seluruh dunia, jadi memungkinkan bagi pemula untuk
beradaptasi dengan lebih mudah dalam projects baru.
Tools yang ada cocok untuk advance dan developer pemula.
Forum dan dokumentasi yang banyak, sehingga kamu dapat berdiskusi jika terjadi
kendala atau error.
Memiliki dasar template yang cukup ringan.
Kode yang dimiliki cukup rapi dibandingkan.
Memiliki banyak Fitur yang tersedia.
Kekurangan Laravel
Perlu sering melakukan pembaruan kedalam versi baru, dalam waktu yang cepat juga,
jika dibandingkan framework lainnya.
Pada sedikit kasus, waktu eksekusi Laravel sedikit lebih lambat dibanding CI.
Memiliki ukuran kode yang termasuk berat untuk suatu framework.
2.
a. app: Folder ini berisi kode inti dari aplikasi Anda, termasuk model, kontroler,
middleware, dan lainnya. Ini adalah tempat di mana Anda akan mengembangkan
sebagian besar logika aplikasi Anda.
b. bootstrap: Folder ini berisi file-file yang diperlukan untuk melakukan bootstrapping
framework Laravel, termasuk file app.php yang memuat aplikasi Laravel pertama
kali.
c. config: Folder ini berisi berbagai file konfigurasi untuk aplikasi Anda, termasuk
konfigurasi database, konfigurasi layanan, dan file-file lain yang memungkinkan
Anda untuk menyesuaikan perilaku aplikasi Anda.
d. database: Folder ini berisi file-file yang terkait dengan database, termasuk migrasi,
bijaksana (seeds), dan file konfigurasi lainnya terkait basis data.
e. lang: Folder ini berisi file-file bahasa yang digunakan dalam aplikasi Anda. Ini
memungkinkan Anda untuk memisahkan teks-teks yang muncul di aplikasi Anda dari
kode, memfasilitasi lokalitas dan internasionalisasi.
f. public: Folder ini berisi file-file publik yang dapat diakses langsung oleh pengguna,
seperti gambar, JavaScript, dan file CSS. Ini adalah tempat di mana Anda akan
menempatkan aset publik yang ingin Anda tampilkan di browser.
g. resources: Folder ini berisi file-file sumber daya yang digunakan oleh aplikasi Anda,
termasuk tampilan, file-file Blade, file JavaScript, dan file CSS. Ini adalah tempat
Anda akan mengembangkan antarmuka pengguna aplikasi Anda.
h. routes: Folder ini berisi file-file yang mendefinisikan rute-rute HTTP untuk aplikasi
Anda. Ini adalah tempat di mana Anda menentukan bagaimana permintaan HTTP
tertentu diarahkan ke kontroler atau tindakan yang sesuai.
i. storage: Folder ini berisi file-file yang dihasilkan oleh aplikasi Anda, seperti file log,
file sesi, dan file cache. Ini juga merupakan lokasi default untuk menyimpan file-file
yang diunggah oleh pengguna.
j. tests: Folder ini berisi file-file pengujian untuk aplikasi Anda. Ini adalah tempat di
mana Anda akan menulis pengujian otomatis untuk memastikan bahwa aplikasi Anda
berfungsi sebagaimana yang diharapkan.
k. vendor: Folder ini berisi dependensi atau paket yang digunakan dalam proyek
Laravel Anda. Ini termasuk semua paket PHP yang dimuat menggunakan Composer,
serta kode dari paket-paket ini. Folder ini sebagian besar diabaikan dari versi kontrol
karena dihasilkan secara otomatis oleh Composer.
3. a. Laravel Artisan merupakan perintah command line yang disediakan oleh Laravel untuk
melakukan berbagai aktivitas pada pengembangan web. Artisan merupakan command-line
utility pada Laravel seperti yang dimiliki framework web development lain.
b. Git adalah tools yang digunakan untuk pengembangan perangkat lunak dan website. Git
adalah singkatan dari Group Inclusive Tour, tools ini digunakan untuk mengelola
versi source code program dengan cara menentukan baris serta kode yang perlu diganti atau
ditambahkan.
c. Kernel adalah komponen dasar dan penting dalam sistem operasi komputer. Kernel
merupakan program komputer yang menjadi inti dari sebuah sistem operasi komputer,
dengan kontrol terhadap segala hal atas sistem tersebut. Pada kebanyakan sistem, kernel
merupakan salah satu dari program yang dijalankan dalam urutan pertama saat komputer
dinyalakan.Dia bertanggung jawab untuk mengatur akses dan komunikasi antara hardware
dan layanan sistem operasi. Kernel mengatur jumlah sumber daya seperti prosesor, memori,
dan perangkat keras, serta memastikan bahwa aplikasi dan perangkat keras dapat
berinteraksi secara efektif.
d. Application Environment atau lingkungan aplikasi adalah kumpulan perangkat lunak dan
konfigurasi yang diperlukan untuk menjalankan aplikasi secara efektif. Ini termasuk sistem
operasi, database, server, dan perangkat lunak tambahan yang diperlukan oleh aplikasi untuk
berjalan dan berfungsi dengan benar. Lingkungan aplikasi memastikan bahwa aplikasi dapat
diinstall, diconfigure, dan dimulai secara konsisten pada berbagai platform dan sistem
operasi.
Model: Model mewakili struktur data aplikasi. Ini berarti model berinteraksi dengan
database untuk melakukan operasi seperti menyimpan, mengambil, memperbarui, dan
menghapus data. Dalam Laravel, model-model ini berada di dalam direktori app/Models,
meskipun Anda bebas mengatur mereka sesuai kebutuhan. Laravel menyediakan ORM
(Object-Relational Mapping) yang kuat bernama Eloquent untuk menyederhanakan interaksi
dengan database. Model dalam Laravel biasanya mencakup metode-metode untuk
melakukan operasi CRUD (Create, Read, Update, Delete) pada data.
View: View bertanggung jawab untuk menampilkan informasi kepada pengguna. Mereka
biasanya terdiri dari file template yang mendefinisikan tata letak dan tampilan dari halaman
web. Dalam Laravel, file-view ini umumnya berada dalam direktori resources/views.
Laravel menggunakan Blade sebagai mesin template default, yang memungkinkan Anda
untuk membuat tampilan yang dinamis dan kuat dengan menambahkan logika PHP ke dalam
template HTML.
Controller: Controller bertindak sebagai perantara antara Model dan View. Mereka
mengontrol alur aplikasi, menerima input dari pengguna melalui antarmuka pengguna,
memprosesnya menggunakan Model, dan kemudian memilih View yang tepat untuk
menampilkan hasilnya. Dalam Laravel, controller biasanya berada dalam direktori
app/Http/Controllers. Mereka dapat memiliki metode-metode yang sesuai dengan rute-rute
aplikasi Anda, yang didefinisikan dalam file routes/web.php atau routes/api.php.
5. Service provider adalah elemen utama dari proses inisialisasi di mana semua kode yang
relevan dan diperlukan dimuat oleh PHP. Selama proses inisialisasi, kode bootstraps sendiri.
Itu artinya bersiap-siap dengan mendaftarkan service container bindings, event listeners,
middleware, configuration, dan routes.
6. Routing adalah salah satu komponen inti dalam aplikasi web yang memungkinkan Anda
mendefinisikan alamat URL yang akan dipetakan ke controller tertentu dalam aplikasi Anda.
Dalam Laravel, routing digunakan untuk mengarahkan semua request HTTP ke handler /
method yang tepat. Routing pada Laravel berfungsi untuk menangani semua URL requested
pada aplikasi web. tahap terakhir dibuat tampilan ke browser user. routing bisa dibangun
tanpa memerlukan kelas controller. Bentuk route yang paling sederhana terdiri dari URI dan
closure.
7. Blade adalah sistem templating yang digunakan oleh framework PHP, Laravel. Blade
membantu pengembang untuk membuat file tampilan yang lebih efisien dan sederhana.
Dengan menggunakan Blade, kode HTML dan PHP dapat diletakkan dalam satu file,
membuat struktur tampilan lebih teratur dan mudah dihapus dan diubah.
Blade menggunakan templating yang sintaks berbeda dari file HTML normal. Dalam file
Blade, kode HTML dapat diisi dengan {{ }} untuk menampilkan variabel PHP atau hasil
dari fungsi PHP. Blade juga memungkinkan pengguna untuk menggunakan sebuah
directive @foreach untuk melakukan looping di dalam tampilan.
<!DOCTYPE html>
<html>
<head>
<title>Selamat Datang!</title>
</head>
<body>
<h1>Halo, {{ $nama }}!</h1>
<p>Anda berhasil masuk ke aplikasi ini.</p>
</body>
</html>
Dalam kode controller, kita dapat mengirimkan variabel $nama ke tampilan tersebut:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
8. Response Header adalah bagian dari HTTP request/response yang mengandung informasi
tentang status dan detail tentang permintaan atau balasan yang dikirimkan antara server dan
client. Berikut adalah contoh penggunaan kode response header dalam bahasa pemrograman
Python menggunakan framework Flask:
app = Flask(__name__)
@app.route('/hello')
def hello():
response = Response()
response.headers['Content-Type'] = 'text/plain'
response.headers['X-Custom-Header'] = 'Hello World'
response.data = b'Ini adalah contoh penggunaan header response\n'
return response
if __name__ == '__main__':
app.run(debug=True)
Dalam contoh di atas, kita membuat sebuah route /hello yang akan mengembalikan
balasan berupa objek Response dari Flask. Kita mengatur dua header response baru:
Jika kita memanggil route /hello melalui browser atau tools seperti cURL, kita dapat
melihat header.