TKAP-Evaluasi Akhir Semester 14 Desember 2017
Kemudian dokumentasikan dengan membuat link blog pada posting berikut.
Hal-hal yang dimasukkan :
- Deskripsi Aplikasi
- Algoritma yang dipakai/ diambil link Bebras
- Storyboard
- Embeded Scratch
- Download APK
PBO-Evaluasi Akhir Semester 15 Desember 2017
Buatlah aplikasi dengan menggunakan prinsip-prinsip obyek dan memakai bahasa Java. Pilihan aplikasi yang dibuat :
- Aplikasi Console
- Aplikasi Desktop
- Aplikasi Game
- Aplikasi Applets
PBO-Pemrograman Applet dan JavaFX
Keuntungan Menggunakan Java Applet :
- Bersifat lintas platform, dapat dijalankan pada Windows, Mac OS, dan Linux
- Bisa berjalan pada semua versi plugin java
- Bisa berjalan di dalam sandbox, sehingga user tidak perlu meninjau source-nya, karena ia berjalan tanpa persetujuan keamanan
- Didukung oleh hampir semua browser
- Applet bisa disimpan sebagai cache oleh sebagian besar webbrowser sehingga menjadi lebih cepat untuk dimuat ketika diakses berikutnya
- Applet bisa memiliki akses penuh ke dalam komputer jika user mengijinkan
Kerugian Menggunakan Java Applet:
- Memerlukan plugin Java
- Java applet memerlukan JVM sehingga saat pertama dijalankan, akan memakan waktu cukup lama
- Jika applet tidak di-cache kedalam komputer lokal, maka proses download akan memakan waktu lama
Contoh Pemrograman Applet
Beberapa Contoh Penggunaan Applet bisa di klik dalam posting berikut .
Referensi lain dapat di klik1 atau klik2
Contoh Source Code :
import java.awt.*;
public class TesApplet extends java.applet.Applet{
public void paint(Graphics g){
Font f = new Font("SansSerif", Font.BOLD, 20);
g.setFont(f);
g.setColor(Color.BLUE);
int xPusat = this.getSize().width/2;
int yPusat = this.getSize().height/2;
String s = "Selamat Belajar Java Applet";
FontMetrics fm = this.getFontMetrics(f);
int posisiX = xPusat - (fm.stringWidth(s)/2);
g.drawString("Selamat Belajar java Applet", posisiX, yPusat);
}
}
Menggabungkan dengan html
<html>
<head>
<title>Selamat Belajar Java</title>
</head>
<body>
<h1>Tes Applet</h1>
<applet code="TesApplet.class" width=300 height=50>
</applet>
<br>
Akhir HTML
</body>
</html>
JavaFX
Sumber Java FX
- https://medium.com/@kellylougheed/fortune-teller-desktop-app-with-javafx-make-a-gui-with-java-64316d86e559
- https://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm
- https://medium.com/@kellylougheed/javascript-magic-8-ball-with-basic-dom-manipulation-1636b83c3c26
TKAP-7-Konversi ke APK
Phosphorus
Klik link Phosphorus kemudian masukkan file project ScratchAppsgeyser
Setelah jadi apk tinggal di download dan diinstall.
Puffin Web Browser
Bisa juga dengan menginstall Puffin Web Browser pada device Android
Contoh Beberapa Aplikasi di UMN Studio
Konversi ke Pocket Code
STI-3-Mengenal Interface dan Objek Scratch
Beberapa komponen Scratch :
- Sprite, di bagian kanan bawah itu ada sprite 1. Sprite bisa diperbanyak lagi dan di edit sesuai kebutuhan.
- Stage Backdrop atau Background, merupakan latar belakang agar games ataupun film animasi yang kita buat bisa lebih menarik.
- Green Flag, Untuk Menjalankan script dari cerita yang telah dibuat
- Stop Sign, Untuk menghentikan semua script dari sebuah cerita
- View Mode, Untuk mengubah stage menjadi besar atau kecil
- New Sprite Button, Membuat sebuah karakter baru atau objek untuk project kita.
STI-2-Mengenal Scratch
- Scratch memiliki ukuran yang kecil dibandingkan bahasa pemrograman yang lain.
- Antar muka (interface) yang sangat sederhana dan mudah digunakan untuk anak-anak.
- Anak-anak lebih mudah belajar logika pemrograman tanpa harus dirumitkan dengan penulisan sintaks dalam bahasa pemrograman pada umumnya.
- Scratch membantu anak-anak dalam membuat cerita interaktif, animasi dan game.
- Scratch memungkinkan setiap orang dengan mudah menggabungkan gambar, suara maupun video tanpa harus memiliki kemampuan khusus di bidang pemrograman.
- Animasi dapat dibentuk, dijalankan dan dikontrol.
- Scratch mampu dijalankan pada sistem operasi Windows, Linux maupun Macintosh.
STI-1-Berpikir Komputasional
- Decomposition : Kemampuan memecah data, proses atau masalah (kompleks) menjadi bagian-bagian yang lebih kecil atau menjadi tugas-tugas yang mudah dikelola. Misalnya memecah ‘Drive/Direktory’ dalam sebuah komputer berdasarkan komponen penyusunnya: File dan Direktory.
- Pattern Recognition : Kemampuan untuk melihat persamaan atau bahkan perbedaan pola, tren dan keteraturan dalam data yang nantinya akan digunakan dalam membuat prediksi dan penyajian data. Misalnya mengenali pola file dokumen, file sistem, file eksekusion atau struktur data/file.
- Abstraksi : Melakukan generalisasi dan mengidentifikasi prinsip-prinsip umum yang menghasilkan pola, tren dan keteraturan tersebut. Misalnya dengan menempatkan semua file sistem di folder Windows, file program di folder Program Files, file data/dokumen di Folder Mydocument dan file pendukung di Drive/Direktory terpisah.
- Algorithm Design : Mengembangkan petunjuk pemecahan masalah yang sama secara step-by-step, langkah demi langkah, tahapan demi tahapan sehingga orang lain dapat menggunakan langkah/informasi tersebut untuk menyelesaikan permasalahan yang sama. Misalnya bagaimanakah langkah mencari file-file dokumen yang ada dalam sebuah komputer ?
APSI-6-1 Fase Desain
- Menentukan strategi pendekatan untuk membangun system baru
- Desain Arsitektur system
- Desain User Interface
- Desain Program
- Desain Data Storage
Menentukan strategi pendekatan untuk membangun system baru
Desain Arsitektur system
Desain User Interface
Desain Program
Desain Data Storage
TKAP-6-Pen Block
Contoh di Scratch
PBO-Evaluasi Tengah Semester Pemrograman Berorientasi Objek 27 Oktober 2017
- Menampelkan kartu E-Money ke dalam mesin GTO atau Gardu Tol Otomatis
- Jika Saldo kartu E-Money mencukupi dengan biaya Tol maka Gerbang Tol akan terbuka, jika tidak mencukupi maka Gerbang Tol tetap tertutup dan pengendara tidak bisa lewat.
- Setelah Transaksi Pembayaran Selesai mesin GTO akan mengeluarkan struk bukti pembayaran yang berisi nama perusahaan, tanggal transaksi, biaya Tol, dan sisa saldo yang ada pada kartu E-Money.
Pertanyaan
- Buatlah sketsa dan beri penjelasan rancangan kelas yang akan digunakan untuk membuat mesin GTO
- Buatlah rancangan output dari program yang akan dibuat
- Buatlah program utamanya yang menggambarkan simulasi cara kerja mesin GTO
- Kerjakan dengan menggunakan komputer. Jika sudah selesai dokumentasikan di blog, kemudian buatlah link komentar pada posting ini. Waktu Pengerjaan 240 menit. Selamat mengerjakan.
TKAP-5-Sensing
Contoh Visualisasi dengan memanfaatkan sensor Video
Contoh Program
APSI-5-1 Fase Analisis
- Siapa yang akan memakai sistem
- Apa yang akan sistem kerjakan ketika dipakai
- Dimana dan kapan sistem akan digunakan
- Memahami sistem yang sedang berjalan / existing system (the as-is system)
- Mengidentifikasi masalah dan kemungkinan perbaikan/ peningkatannya
- Mendefinisikan kebutuhan untuk sistem yang baru (the to-be system)
- Menentukan Kebutuhan
- Analisis Use Case
- Pemodelan Proses
- Pemodelan Data
Menentukan Kebutuhan
TKAP-4-Crane Operation
- Left,
- Right,
- Up,
- Down,
- Grab,
- let Go.
Kotak A ada di sisi kiri sedangkan kotak B ada di sebelah kanan. Operasikan Crane tersebut dengan 6 instruksi tadi sehingga kotaknya dapat dipertukarkan.
Visualisasi
https://scratch.mit.edu/projects/12752753/
https://scratch.mit.edu/projects/3174824/
Pengembangan
- Pilihlah salah satu contoh soal di Bebras. 1 orang 1 soal tidak boleh sama.
- Buatlah Visualisasinya
- Upload di channel TKAP-Studio https://scratch.mit.edu/users/TKAP-Studio/ (satunformatika) dan juga channel pribadi
- Demokan pada saat minggu UTS
APSI-3-1-Quiz
- Tentukan sebuah perusahaan atau organisasi sebagai studi kasus.
- Buatlah deskribsi perusahaan tersebut.
- Identifikasi Teknologi Informasi dan Sistem Informasi yang ada di perusahaan/ organisasi tersebut.
- Klasifikasikan Sistem Informasi yang ada berdasarkan Klasifikasi OBrien
- Buatlah mapping klasifikasi sistem informasi tersebut ke dalam Piramida Penggunanya.
TKAP-3-Visualisasi Selection Sort
Deskripsi
Selection Sort merupakan salah satu algoritma pengurutan yang sederhana. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.Selection Sort diakui karena kesederhanaan algoritmanya dan performanya lebih bagus daripada algoritma lain yang lebih rumit dalam situasi tertentu. Algoritma ini bekerja sebagai berikut:
- Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
- Menukarkan nilai ini dengan elemen pertama list
- Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi kedua
Secara efisien kita membagi list menjadi dua bagian yaitu bagian yang sudah diurutkan, yang didapat dengan membangun dari kiri ke kanan dan dilakukan pada saat awal, dan bagian list yang elemennya akan diurutkan.
Contoh simulasi algoritma selection sort sbb :
jika kita memiliki elemen array sbb : {5, 1, 12, -5, 16, 2, 12, 14}
Visualisasi
TKAP-2-Problem Solving Bebras
Dalam dunia pendidikan, berbagai model pembelajaran dicoba untuk diterapkan dengan tujuan untuk meningkatkan kemampuan problem solving siswa. Kemampuan problem solving bisa juga diasah melalui kegiatan di luar sekolah (non kurikuler). Hampir semua aspek kehidupan sehari-hari diselesaikan dengan bantuan komputer. Oleh sebab itu, computational thinking menjadi salah satu elemen problem solving yang perlu diasah.
Bebras yang pertama kali digelar di Lithuania (www.bebras.org), merupakan aktivitas ekstra kurikuler yang mengedukasi kemampuan problem solving dalam informatika dengan jumlah peserta terbanyak di dunia. Siswa peserta akan mengikuti kompetisi bebras di bawah supervisi guru, yang dapat mengintegrasikan tantangan tersebut dalam aktivitas mengajar guru. Kompetisi ini dilakukan setiap tahun secara online melalui komputer.
Kompetisi Bebras didirikan di negara Lithuania oleh Prof. Valentina Dagiene dari University of Vilnius pada tahun 2004. Bebras adalah istilah dalam bahasa Lithuania untuk ?beaver? (dalam bahasa Indonesia adalah ?berang berang?). Bebras dipilih sebagai simbol tantangan (challenge), karena hewan beaver berusaha keras untuk mencapai target secara sempurna dalam aktivitasnya sehari ?hari. Mereka membuat bendungan dari ranting-ranting pohon di sungai atau aliran air dan membuat rumahnya sendiri. Kompetisi ini disebut Bebras untuk menunjukkan kerja keras dan kecerdasan diperlukan di dalam kehidupan.
Kompetisi Bebras dilaksanakan setiap tahun. Negara yang sudah berpartisipasi mengikuti Bebras ada 50 negara, belum termasuk Indonesia. Pada tahun 2015, jumlah peserta yang mengikuti Bebras mencapai 1,3 juta siswa dari berbagai belahan dunia. Indonesia akan mulai berpartisipasi pada tahun 2016.
Bebras task diberikan berdasarkan kelompok umur siswa, terdapat 5 kelompok umur. Kelompok Little Beavers untuk usia 8-10 tahun, kelompok Benjamins untuk usia 10-12 tahun, kelompok Cadets untuk usia 13-14 tahun, kelompok Juniors untuk usia 15-16 tahun, dan kelompok Seniors untuk usia 17-19 tahun.
Contoh – 1
- A) A = false, B = true, C = false, D = false
- B) A = true, B = true, C = false, D = false
- C) A = true, B = false, C = false, D = true
- D) A = false, B = false, C = false, D = true
- A: Jika B terbuka dan A tertutup, maka air dapat mengalir menyirami pohon.
- B: Jika A terbuka, maka air yang mengalir melalui B akan dialirkan melalui A, sehingga tidak menyirami pohon.
- C: Jika B tertutup, maka tidak ada air yang berasal dari sumber di sebelah kiri. Karena C juga tertutup, air dari sumber di sebelah kanan tidak dapat mengalir.
- D: Jika B tertutup, maka tidak ada air yang berasal dari sumber di sebelah kiri. Karena C juga tertutup, air dari sumber di sebelah kanan tidak dapat mengalir
Contoh - 2
- Jika seseorang berbagi foto dengan beberapa temannya, maka teman-temannya tersebut dapat memberikan komentar.
- Jika seseorang memberikan komentar untuk suatu foto, maka semua temannya dapat melihat foto dan komentarnya, tetapi tidak dapat memberikan komentar kecuali jika pada awalnya bisa.
- A) Dana, Michael, Eve
- B) Dana, Eve, Monica
- C) Michael, Eve, Jacob
- D) Micheal, Peter, Monica
Referensi :
- http://www.bebras.uk/programming.html
- http://www.scratchmypi.co.uk/sorting-algorithms-in-key-stage-2/#
- https://www.youtube.com/watch?v=T9ddJNm_gX8
- https://scratch.mit.edu/projects/89122691/
- https://scratch.mit.edu/studios/880696/
- https://edu.google.com/resources/programs/exploring-computational-thinking/
- http://interactivepython.org/runestone/static/pythonds/index.html
- https://projecteuler.net/archives
- http://www.cs.uni.edu/~schafer/outreach/cs4hs/
- https://www.youtube.com/watch?v=1jWfG_0J-qU&index=11&list=PL99XwQ3slYF1Azru0Ppe6bDvC59-3GoQs
- https://www.youtube.com/watch?v=S_eOTuRICQk
- https://www.youtube.com/watch?v=T9ddJNm_gX8
- https://www.youtube.com/watch?v=nbbfz-xXSOc
TKAP-1-Topik Khusus Algoritma Pemrograman
Computational Thinking (CT) adalah sebuah pendekatan dalam proses pembelajaran. CT memang memiliki peran penting dalam pengembangan aplikasi komputer, namun CT juga dapat digunakan untuk mendukung pemecahan masalah disemua disiplin ilmu, termasuk humaniora, matematika dan ilmu pengetahuan. Siswa yang belajar dimana CT diterapkan dalam kurikulum (proses pembelajaran) dapat mulai melihat hubungan antara mata pelajaran, serta antara kehidupan di dalam dengan di luar kelas.
Berpikir komputasi adalah teknik pemecahan masalah yang sangat luas wilayah penerapannya. Tidak mengherankan bahwa memiliki kemampuan tersebut adalah sebuah keharusan bagi seseorang yang hidup pada abad ke dua puluh satu ini. Seperti juga bermain musik dan belajar bahasa asing, Computational Thinking melatih otak untuk terbiasa berfikir secara logis, terstruktur dan kreatif.
Istilah Computational Thinking pertama kali diperkenalkan oleh Seymour Papert pada tahun 1980 dan 1996. Di tahun 2014, pemerintah Inggris memasukkan materi pemrograman kedalam kurikulum sekolah dasar dan menengah, tujuannya bukan untuk mencetak pekerja software (programmer) secara massif tetapi untuk mengenalkan Computational Thinking (CT) sejak dini kepada siswa. Pemerintah Inggris percaya Computational Thinking (CT) dapat membuat siswa lebih cerdas dan membuat mereka lebih cepat memahami teknologi yang ada di sekitar mereka.
Metode Computational Thinking
Beberapa metode yang dipakai dalam Computational Thinking ini antara lain :
- Decomposition : Kemampuan memecah data, proses atau masalah (kompleks) menjadi bagian-bagian yang lebih kecil atau menjadi tugas-tugas yang mudah dikelola. Misalnya memecah ‘Drive/Direktory’ dalam sebuah komputer berdasarkan komponen penyusunnya: File dan Direktory.
- Pattern Recognition : Kemampuan untuk melihat persamaan atau bahkan perbedaan pola, tren dan keteraturan dalam data yang nantinya akan digunakan dalam membuat prediksi dan penyajian data. Misalnya mengenali pola file dokumen, file sistem, file eksekusion atau struktur data/file.
- Abstraksi : Melakukan generalisasi dan mengidentifikasi prinsip-prinsip umum yang menghasilkan pola, tren dan keteraturan tersebut. Misalnya dengan menempatkan semua file sistem di folder Windows, file program di folder Program Files, file data/dokumen di Folder Mydocument dan file pendukung di Drive/Direktory terpisah.
- Algorithm Design : Mengembangkan petunjuk pemecahan masalah yang sama secara step-by-step, langkah demi langkah, tahapan demi tahapan sehingga orang lain dapat menggunakan langkah/informasi tersebut untuk menyelesaikan permasalahan yang sama. Misalnya bagaimanakah langkah mencari file-file dokumen yang ada dalam sebuah komputer ?
Referensi
- https://www.google.com/edu/programs/exploring-computational-thinking/
- http://en.wikipedia.org/wiki/Computational_thinking
- http://www.open.edu/openlearn/science-maths-technology/computing-and-ict/introduction-computational-thinking/content-section-0
- https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
- http://www.bebras.org/
- http://bebras.or.id/index.html
- https://barefootcas.org.uk/barefoot-primary-computing-resources/concepts/computational-thinking/
- https://computationalthinkingcourse.withgoogle.com/unit
- https://computationalthinkingcourse.withgoogle.com/unit?unit=1&lesson=21
- https://edu.google.com/resources/programs/exploring-computational-thinking/
- https://edu.google.com/resources/programs/exploring-computational-thinking/#!ct-materials
Evaluasi Akhir Semester Pemrograman Berbasis Obyek 2017
- Buatlah deskribsi dari Final Project yang dikerjakan, jelaskan fitur-fitur yang ada, dan juga diagram kelas aplikasi.
- Dokumentasi dibuat pada blog masing-masing, kemudian alamat blog di koment pada posting ini.
- Kode program yang ditulis diupload di github, atau bisa juga di blog dengan bentuk source code yang dipakai.
- Hasil eksekusi program di screenshot dan sertakan penjelasannya di dalam blog.
Membuat Game
- https://id.techinasia.com/daftar-aplikasi-membuat-game-tanpa-perlu-bisa-coding
- http://www.sdgamingbootcamp.com/
- http://www.mrgamedev.com/
- http://www.2dgameartguru.com/
- https://2d-game-art-tutorials.zeef.com/chris.hildenbrand
- http://www.gamasutra.com/blogs/ChrisHildenbrand/20111015/90415/2D_Game_Art_For_Programmers__Part_1_updated.php
Evaluasi Akhir Semester Manajemen Proyek Perangkat Lunak 2017
Tugas
Tugas/ Demo minggu depan :1. Buatlah TOR/ KAK untuk aplikasi yang akan dibangun
2. Buatlah Perencanaan Proyek untuk Aplikasi Seleksi
3. Buatlah monitoring proyek dengan menggunakan kurva S
4. Jawaban dalam bentuk dokumen kertas dijilid dan online yang dikoment pada blog ini.
Membuat Game Pong Java
- https://www.youtube.com/watch?v=1wD2CdFlDaE
- http://www.mediafire.com/file/572fidw7ymo07v2/Pong.jar
- https://github.com/Jaryt/PongTutorial
Antarmuka SBMPTN
Backend dan PHP-Hypertext Prepocessor
Teknologi
Back-End dan Arsitektur Web
Back
End
Back-end adalah bagian dari pengembangan aplikasi
yang bekerja di sisi server untuk menangani logika bisnis, pengelolaan data,
dan komunikasi antar server. Sederhananya, back-end bertanggung jawab atas
segala proses yang terjadi di belakang layar untuk mendukung fungsi aplikasi
agar berjalan dengan baik dan sesuai permintaan pengguna.
Contoh peran back-end dalam aplikasi web:
- Mengelola
data yang disimpan dalam database.
- Memastikan
keamanan data melalui autentikasi pengguna.
- Memproses
permintaan pengguna, seperti menyimpan atau menampilkan data tertentu.
Perbedaan antara Front-End dan Back-End:
- Front-End:
Bagian aplikasi yang terlihat dan dapat digunakan langsung oleh pengguna
(disebut juga client-side).
- Back-End:
Bagian aplikasi yang bekerja di server dan tidak terlihat oleh pengguna.
Ini termasuk server, database, dan API.
Komponen Utama Teknologi Back-End
- Server:
Tempat penyimpanan file aplikasi dan data yang mengelola permintaan klien.
- Database:
Tempat penyimpanan data aplikasi (misalnya, data pengguna, produk,
transaksi).
- API:
Interface yang memungkinkan komunikasi antara front-end dan back-end.
- Server-Side
Programming: Bahasa pemrograman yang digunakan untuk menulis kode di
sisi server.
Bahasa Pemrograman untuk Back-End
- PHP:
Sering digunakan di berbagai aplikasi web, terutama CMS seperti WordPress.
- Python
(Django, Flask): Memiliki sintaks yang mudah dipelajari, dengan Django
sebagai framework populer.
- JavaScript
(Node.js): Memungkinkan JavaScript untuk berjalan di server dengan
performa yang baik.
- Ruby
(Ruby on Rails): Fokus pada kemudahan dan produktivitas pengembang.
- Java:
Banyak digunakan di aplikasi perusahaan besar dan berbasis Android.
- C#
(.NET Core): Sangat cocok untuk aplikasi berbasis Windows dan sering
digunakan dalam skala besar.
Contoh Framework
Back-End
- Express.js
(Node.js): Minimalis, fleksibel, dan mendukung aplikasi server-side
JavaScript.
- Django
(Python): Framework "baterai terpasang" dengan banyak fitur
bawaan.
- Laravel
(PHP): Memiliki fitur lengkap untuk pengembangan aplikasi web PHP
dengan struktur yang rapi.
- Spring
Boot (Java): Memudahkan pengembangan aplikasi Java dengan konfigurasi
minimal.
- ASP.NET
Core (C#): Dikembangkan oleh Microsoft dan mendukung aplikasi
cross-platform.
Database yang Sering Digunakan
- SQL
Databases: MySQL, PostgreSQL, SQL Server – berorientasi pada data
terstruktur.
- NoSQL
Databases: MongoDB, Cassandra – cocok untuk data tidak terstruktur,
cocok untuk aplikasi besar atau real-time.
Contoh Studi Kasus
E-commerce Platform
- Fitur
Utama: Pengelolaan produk, keranjang belanja, dan transaksi.
- Bahasa
& Framework: PHP dengan Laravel atau Python dengan Django.
- Database:
MySQL untuk data produk dan pengguna.
- API:
RESTful API untuk menghubungkan front-end dengan back-end.
Peranan
Back-End dalam Arsitektur Web
Dalam sebuah aplikasi web, back-end memiliki peranan yang
penting untuk menjalankan berbagai logika dan alur yang kompleks. Berikut
adalah beberapa peran utama dari back-end dalam arsitektur web:
a. Mengelola Data dengan Database
Back-end terhubung dengan database untuk menyimpan dan
mengambil data yang dibutuhkan oleh aplikasi. Contoh data yang sering dikelola
adalah:
- Informasi
pengguna (username, password, profil)
- Data
produk atau layanan (dalam aplikasi e-commerce)
- Konten
artikel atau berita (dalam portal berita)
Teknologi database yang umum digunakan:
- SQL
Databases: Seperti MySQL, PostgreSQL, yang menyimpan data dalam bentuk
tabel.
- NoSQL
Databases: Seperti MongoDB, yang menyimpan data dalam bentuk dokumen
JSON.
b. Proses Logika Bisnis
Logika bisnis adalah aturan dan proses yang mengatur
bagaimana aplikasi bekerja. Misalnya:
- Menghitung
harga akhir setelah diskon dan pajak dalam aplikasi e-commerce.
- Memverifikasi
status pembayaran sebelum menampilkan informasi layanan yang aktif.
c. Otentikasi dan Keamanan Data
Back-end bertanggung jawab atas keamanan data pengguna
dengan menerapkan sistem autentikasi, seperti:
- Token-based
Authentication (menggunakan JSON Web Token atau JWT).
- OAuth
untuk akses terhubung ke aplikasi pihak ketiga (misalnya login dengan akun
Google). Ini memastikan bahwa hanya pengguna yang sah yang dapat mengakses
data dan fungsi tertentu.
d. Menyediakan API untuk Berkomunikasi dengan Front-End
Back-end menyediakan Application Programming Interface
(API), yaitu perantara yang memungkinkan front-end untuk mengambil atau
mengirim data ke server. API biasanya disusun dalam bentuk:
- RESTful
API: Menggunakan HTTP untuk komunikasi dan sering kali bekerja dengan
data JSON.
- GraphQL:
Membolehkan klien untuk menentukan jenis data yang dibutuhkan dalam satu
permintaan.
Arsitektur
Web dan Hubungan antara Front-End dan Back-End
Arsitektur web adalah kerangka yang mendefinisikan
cara komponen back-end dan front-end berinteraksi dalam sebuah aplikasi web.
Arsitektur ini melibatkan:
- Client
(Browser): Di mana pengguna mengakses aplikasi (front-end).
- Server:
Di mana logika aplikasi dijalankan dan data diolah (back-end).
- Database:
Penyimpanan data aplikasi.
Interaksi antara Front-End dan Back-End:
Front-end mengirim permintaan ke back-end untuk mengambil
atau memanipulasi data. Proses ini terjadi dalam beberapa langkah, yaitu:
- Permintaan
(Request) dari Front-End ke Back-End
Ketika pengguna melakukan tindakan, seperti mengklik tombol “Lihat Produk”, front-end akan mengirim permintaan HTTP ke back-end. - Pemrosesan
di Back-End
Back-end menerima permintaan tersebut dan menjalankan logika bisnis yang sesuai, misalnya mengambil daftar produk dari database. - Pengiriman
Balasan (Response) dari Back-End ke Front-End
Setelah data diproses, back-end mengirim respons berisi data (misalnya daftar produk) kembali ke front-end untuk ditampilkan ke pengguna.
Contoh jenis permintaan HTTP yang digunakan:
- GET:
Untuk mengambil data.
- POST:
Untuk menambah data baru.
- PUT/PATCH:
Untuk memperbarui data.
- DELETE:
Untuk menghapus data.
Contoh Skenario Interaksi Back-End dan Front-End
Misalkan kita memiliki aplikasi e-commerce sederhana dengan
fitur pencarian produk. Ketika pengguna mengetik kata kunci produk dan menekan
tombol "Cari", berikut langkah yang terjadi:
- Front-End:
- Front-end
mengambil input kata kunci dari pengguna.
- Front-end
mengirim permintaan (request) GET ke endpoint API di back-end,
misalnya /api/products?query=keyword.
- Back-End:
- Back-end
menerima permintaan, memeriksa apakah query ada di database.
- Jika
data produk ditemukan, back-end mengirim hasilnya kembali ke front-end
dalam format JSON.
- Kembali
ke Front-End:
- Front-end
menerima data produk dari back-end.
- Front-end
menampilkan daftar produk ke pengguna.