STI-Evaluasi Akhir Semester 22 Desember 2017

Buatlah aplikasi game dengan ketentuan :

  1. Deskripsi dari Game yang dibuat
  2. Referensi yang diambil
  3. Daftar Aset game, Sprite dan Sound yang dipakai
  4. Penjelasan potongan program
  5. Link embedded aplikasi di dalam Blog
  6. Buatlah link koment pada posting blog berikut.


APSI-Evaluasi Akhir Semester 11 Desember 2017

Evaluasi Analisis dan Perancangan Sistem Informasi

1. Tuliskan deskripsi studi kasus yang diambil

2. Buatlah Model Analisis Sistem Informasi

  • Menentukan Kebutuhan
  • Analisis Use Case
  • Pemodelan Proses
  • Pemodelan Data

3. Buatlah Model Desain Sistem Informasi

Buatlah link koment Dokumentasi hasilnya.

TKAP-Evaluasi Akhir Semester 14 Desember 2017

Buatlah aplikasi Visualisasi Algoritma dalam bentuk aplikasi Game, Animasi, atau Story. Kemudian konversi dalam bentuk APK supaya bisa dijalankan pada SmartPhone.


Kemudian dokumentasikan dengan membuat link blog pada posting berikut.
Hal-hal yang dimasukkan :

  1. Deskripsi Aplikasi
  2. Algoritma yang dipakai/ diambil link Bebras
  3. Storyboard
  4. Embeded Scratch
  5. Download APK

PBO-Evaluasi Akhir Semester 15 Desember 2017

Evaluasi Akhir Semester Pemrograman Berorientasi Obyek

Buatlah aplikasi dengan menggunakan prinsip-prinsip obyek dan memakai bahasa Java. Pilihan aplikasi yang dibuat :

  1. Aplikasi Console
  2. Aplikasi Desktop
  3. Aplikasi Game
  4. Aplikasi Applets

Dokumentasikan ke dalam blog masing-masing kemudian buat koment link pada blog posting ini.

PBO-Pemrograman Applet dan JavaFX

Java Applet adalah aplikasi java yang bisa disisipkan kedalam halaman HTML. Java applet bisa berjalan pada web browser yang telah mendukung java seperti mozilla, IE, dan chrome. Applet dirancang untuk berjalan ‘remotely‘ pada browser client, sehingga ada beberapa keterbatasan. Secara default, applet tidak bisa mengakses resource pada komputer lokal. Applet biasanya digunakan untuk membuat website lebih dinamis dan menghibur.

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

JavaFX adalah salah satu teknologi dari Java yang diluncurkan untuk membangun aplikasi yang kaya dengan konten multimedia seperti grafis, sound, effect grafis dan video, yang diintegrasikan ke dalam Website dan berjalan di dalam jaringan internet.

JavaFX juga dirancang untuk mengembangkan aplikasi kaya fitur  (RIA) Rich Internet Application yang dapat berjalan di berbagai platform contohnya mobile, desktop, dan televisi.



Latihan  Fortune Teller :


TKAP-7-Konversi ke APK

Untuk menjalankan file hasil dari Scratch di dalam platform Android apk, kita membutuhkan proses konversi file. Beberapa hal yang perlu dilakukan untuk mengkonversi dapat dilihat dalam video berikut :


Phosphorus

Klik link Phosphorus kemudian masukkan file project Scratch




Appsgeyser


Kemudian buka appsgeyser pada browser untuk melakukan konversi selanjutnya


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

Pocket code adalah aplikasi pembelajaran yang menyediakan tempat untuk berkarya, bermain, berbagi dan berkreasi menggunakan program catrobat yang tetap dalam ruang lingkup programming.


Untuk Proses Konversi dari Scratch ke Pocket Code bisa klik Catrobat To Scratch .




STI-3-Mengenal Interface dan Objek Scratch

STI-3-Mengenal Interface dan Objek Scratch

Scratch adalah bahasa pemrograman yang didesain untuk memperkenalkan   konsep pemrograman komputer secara sederhana sehingga dapat dipahami oleh siapapun dari berbagai latar belakang. Scratch menampilkan antar muka yang sangat sederhana dan mudah digunakan. Konsep pemrograman scratch divisualisasikan dalam bentuk blok-blok program seperti memasang sebuah puzzle. Scratch dapat digunakan untuk membuat aplikasi, animasi, dan games.

Beberapa komponen Scratch :
  1. Sprite, di bagian kanan bawah itu ada sprite 1. Sprite bisa diperbanyak lagi dan di edit sesuai kebutuhan.
  2. Stage Backdrop atau Background, merupakan latar belakang agar games ataupun film animasi yang kita buat bisa lebih menarik.
  3. Green Flag, Untuk Menjalankan script dari cerita yang telah dibuat
  4. Stop Sign, Untuk menghentikan semua script dari sebuah cerita
  5. View Mode, Untuk mengubah stage menjadi besar atau kecil
  6. New  Sprite Button, Membuat sebuah karakter baru atau objek untuk project kita.

STI-2-Mengenal Scratch

Scratch adalah bahasa pemrograman yang didesain untuk memperkenalkan konsep pemrograman komputer secara sederhana sehingga dapat dipahami oleh siapapun dari berbagai latar belakang. Scratch menampilkan antar muka yang sangat sederhana dan mudah digunakan. Konsep pemrograman scratch divisualisasikan dalam bentuk blok-blok program seperti memasang sebuah puzzle. Scratch dapat digunakan untuk membuat aplikasi, animasi atau games. Selain itu, scratch juga memudahkan anak memahami konsep logika matematika dan komputer. Dengan scratch konsep pemrograman dapat dipahami dengan mudah dan sangat baik untuk menyalurkan kreatifitas anak dalam belajar sekaligus bermain (edutainment). 

Scratch merupakan salah satu program untuk membantu dalam mengenalkan bahasa pemrograman sejak usia dini. Pengenalan logika pemrograman sejak usia dini membuat anak-anak menjadi lebih tertarik dan semangat untuk belajar bidang ilmu lain seperti sains dan matematika. Sehingga anak-anak dapat menggunakan logika dan daya nalarnya dengan baik. Bahasa pemrograman merupakan teknik untuk menulis program dan memberikan perintah pada komputer sesuai dengan yang kita inginkan. Bahasa pemrograman dapat memfasilitasi komunikasi antara manusia dan mesin. Bahasa pemrograman dapat juga diaplikasikan dalam bidang pendidikan. Bahasa pemrograman pendidikan dibuat sebagai instrumen pembelajaran, bukan sebagai alat bantu pembuatan aplikasi yang sesungguhnya. Seiring dengan berkembangnya teknologi, perlu adanya pengenalan bahasa pemrograman sejak usia dini. 

Ada beberapa alasan mengapa kita memilih Scratch sebagai media pengenalan logika pemrograman pada usia dini, yaitu karena Scratch memiliki kelebihan-kelebihan sebagai berikut: 
  1. Scratch memiliki ukuran yang kecil dibandingkan bahasa pemrograman yang lain. 
  2. Antar muka (interface) yang sangat sederhana dan mudah digunakan untuk anak-anak. 
  3. Anak-anak lebih mudah belajar logika pemrograman tanpa harus dirumitkan dengan penulisan sintaks dalam bahasa pemrograman pada umumnya. 
  4. Scratch membantu anak-anak dalam membuat cerita interaktif, animasi dan game. 
  5. Scratch memungkinkan setiap orang dengan mudah menggabungkan gambar, suara maupun video tanpa harus memiliki kemampuan khusus di bidang pemrograman. 
  6. Animasi dapat dibentuk, dijalankan dan dikontrol. 
  7. Scratch mampu dijalankan pada sistem operasi Windows, Linux maupun Macintosh. 


1. pengenalan scratch from Fajar Baskoro




Game Flappy Bird

Tutorial dan Latihan






STI-1-Berpikir Komputasional

Istilah Berpikir Komputasional atau 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.

Berpikir komputasional adalah proses abstraksi sebuah permasalahan ke dalam bentuk yang dapat diproses oleh komputer. Agar sebuah sistem dapat diselesaikan oleh komputer maka sistem tersebut perlu dimodelkan dalam bentuk/ format yang dapat diproses oleh komputer.

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 ?






APSI-6-1 Fase Desain

Tahapan analisis menekankan kepada membuat gambaran "Apa" yang menjadi kebutuhan sistem terutama business needs. Sedangkan pada fase desain menentukan "Bagaimana" system yang sesuai dengan kebutuhan tersebut akan dibangun.

Di dalam desain system aktivitas yang dilakukan adalah :
  1. Menentukan strategi pendekatan untuk membangun system baru
  2. Desain Arsitektur system
  3. Desain User Interface
  4. Desain Program
  5. Desain Data Storage
(Referensi Buku : System Analysis and Design , Dennis-Wixom-Roth)

Hasil utama fase desain membangun blueprint untuk system baru yang disebut dengan system specification.


Menentukan strategi pendekatan untuk membangun system baru



Desain Arsitektur system



Desain User Interface



Desain Program



Desain Data Storage


TKAP-6-Pen Block

Pen digunakan untuk membuat gambar atau lintasan dengan menggunakan komponen pena. Di dalam Block Pen disediakan pen up , pen down untuk mengatur kapan saat pen ditekan ataua diangkat. Juga terdapat pengaturan warna dan ketebalan.


8. pen scratch from Fajar Baskoro

Contoh untuk menggambar Fractal Trees



Contoh di Scratch



PBO-Evaluasi Tengah Semester Pemrograman Berorientasi Objek 27 Oktober 2017

Sejak bulan Oktober 2017 ini Pengelola Jalan Tol mewajibkan semua pengguna melakukan pembayaran dengan kartu atau Transaksi Non Tunai.

Transaksi ini dilakukan dengan cara :
  1. Menampelkan kartu E-Money ke dalam mesin GTO atau Gardu Tol Otomatis
  2. 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.
  3. 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.
Cara Kerja Gardu Tol Otomatis


Tata cara

Bukti Transaksi Pembayaran



Pertanyaan 

Berdasarkan deskribsi di atas
  1. Buatlah sketsa dan beri penjelasan rancangan kelas yang akan digunakan untuk membuat mesin GTO
  2. Buatlah rancangan output dari program yang akan dibuat
  3. Buatlah program utamanya yang menggambarkan simulasi cara kerja mesin GTO
  4. 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

Sensing Block pada scratch digunakan untuk mendeteksi atau berinteraksi dengan sensor yang ada di Scratch. Bisa berupa video, suara atau peralatan lain. Kegunaan masing-masing blok Sensing adalah sbb :


10. sensing scratch from Fajar Baskoro

Contoh Visualisasi dengan memanfaatkan sensor Video



Contoh Program


APSI-5-1 Fase Analisis

Fase analisis dilakukan untuk menjawab pertanyaan :
  • Siapa yang akan memakai sistem
  • Apa yang akan sistem kerjakan ketika dipakai
  • Dimana dan kapan sistem akan digunakan

Proses yang dilakukan dalam analysis:
  • 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)
Langkah-langkah yang dilakukan adalah :
  1. Menentukan Kebutuhan
  2. Analisis Use Case
  3. Pemodelan Proses
  4. Pemodelan Data
Hasil semua proses dan langkah-langkah kemudian dituliskan dalam dokumen analisis.  Dokumen ini dibuat dalam bentuk proposal sistem yang akan dipresentasikan kepada managemen. Managemen akan mempertimbangkan dan memutuskan apakah proyek akan dilanjutkan, diperbaiki, atau ditolak.


Menentukan Kebutuhan

Kebutuhan adalah Pernyataan tentang apa yang sistem akan lakukan atau karakteristik sistem yang harus dipenuhi. Misalkan Sistem harus mampu mencetak laporan penjualan harian atau sistem harus bisa diakses melalui web browser dan perangkat smartphone.




Analisis Use Case



Anakasus from Fajar Baskoro


Pemodelan Proses




Pemodelan Data





Referensi Buku Dennis-Wixom 

Tool Software

TKAP-4-Crane Operation

Crane di pelabuhan Port Lodgedam mempunyai 6 instruksi

  1.  Left, 
  2. Right, 
  3. Up, 
  4. Down, 
  5. Grab, 
  6. 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

  1. Pilihlah salah satu contoh soal di Bebras. 1 orang 1 soal tidak boleh sama.
  2. Buatlah Visualisasinya
  3. Upload di  channel TKAP-Studio https://scratch.mit.edu/users/TKAP-Studio/ (satunformatika) dan juga channel pribadi
  4. Demokan pada saat minggu UTS



APSI-3-1-Quiz

Buatlah artikel dalam blog yang memuat beberapa pertanyaan di bawah ini. Sertakan gambar, video atau file lain yang melengkapi artikel yang dibuat.
  1. Tentukan sebuah perusahaan atau organisasi sebagai studi kasus.
  2. Buatlah deskribsi perusahaan tersebut.
  3. Identifikasi Teknologi Informasi dan Sistem Informasi yang ada di perusahaan/ organisasi tersebut.
  4. Klasifikasikan Sistem Informasi yang ada berdasarkan Klasifikasi OBrien 
  5. 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:

  1. Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
  2. Menukarkan nilai ini dengan elemen pertama list
  3. 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

Kemampuan memecahkan masalah (problem solving) merupakan kemampuan yang diperlukan baik untuk belajar, maupun dalam bekerja. Menurut laporan dari World Economic Forum, kemampuan yang paling diperlukan dalam dunia kerja di tahun 2020 adalah complex problem solving. Berkaitan dengan hal tersebut, ada tiga tantangan yang dihadapi di masa depan, yaitu ketidakpastian, globalisasi, dan persaingan ide. Pendidikan harus dapat menjawab ketiga tantangan tersebut dengan memperkuat konsep 4C dalam pendidikan, yaitu creativity, comunication skills, collaborative, and critical thingking for problem solving.

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 

Kran Air
(Kelompok Usia: Benjamins; Tingkat Kesulitan: medium; Kategori: STRUC)

Beaver membuat sistem pipa untuk menyirami pohon apelnya.
Sistem pipa terdiri dari 4 kran, yaitu A,B,C, dan D. Digunakan ekspresi yang memakai variabel A, B, C, D, yang dapat bernilai true (benar) atau false (salah). Suatu variabel bernilai true, jika kran yang berhubungan terbuka, sebaliknya variabel bernilai false, jika kran tersebut tertutup.

Tentukan dalam kasus yang mana, pohon apel akan mendapat air ?

Pilihlah jawaban yang paling tepat :

  • 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
Jawaban yang paling tepat adalah A, penjelasannya sebagai berikut.


  • 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

Aspek informatika yang hendak disampaikan dalam persoalan ini adalah bahwa program komputer memproses struktur data yang memodelkan kondisi sebenarnya. Model adalah suatu abstraksi, yaitu gambaran persoalan nyata yang disederhanakan. Dalam persoalan kran air, kran dimodelkan sebagai variabel yang dapat bernilai true (kran terbuka) atau false (kran tertutup). Ini suatu contoh abstraksi, dalam hal ini sifat-sifat lain dari suatu kran air diabaikan dahulu untuk menyederhanakan persoalan.

Contoh - 2

Pertemanan
(Kelompok usia : Juniors; Tingkat kesulitan: medium; Kategori: STRUC, SOC)

Lucia dan teman-temannya terdaftar dalam suatu jaringan sosial, seperti dalam gambar berikut ini. Suatu garis menunjukkan hubungan pertemanan antara dua orang. 
Misalnya Monica adalah teman Lucia sedangkan Alex bukan teman Lucia.

Aturan yang berlaku :
  • 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.

Lucia meng-upload suatu foto. Dengan siapa saja dia dapat berbagi foto, jika dia tidak mau fotonya dilihat oleh Jacob ?

Pilihlah jawaban yang paling tepat :
  • A) Dana, Michael, Eve
  • B) Dana, Eve, Monica
  • C) Michael, Eve, Jacob
  • D) Micheal, Peter, Monica

Jawaban yang benar adalah A.

Penjelasannya, Lucia mempunyai 6 teman, yaitu Dana, Michael, Monica, Eve, Peter, dan Jacob. Dari keenam orang tersebut, yang tidak berteman dengan Jacob adalah Dana, Michael dan Eve. Aturannya adalah jika X memberi komentar untuk sebuah foto, maka semua teman X dapat melihat foto dan komentarnya. Jadi karena Dana, Michael dan Eve tidak berteman dengan Jacob, maka Jacob tidak bisa melihat foto tersebut.

Salah satu aspek informatika yang hendak disampaikan melalui soal ini adalah mengenai struktur. Struktur yang digunakan untuk menggambarkan relasi pertemanan dari Lucia menggunakan bentuk yang disebut graf. Graf merupakan sarana dalam informatika untuk menggambarkan jaringan sosial. Graf sederhana terdiri dari node (menyatakan orang) dan garis (menyatakan relasi teman).

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

Dalam kuliah ini akan dibahas metoda pemecahan masalah dengan mengaplikasikan teknik yang digunakan oleh software engineer dalam menulis program atau biasa disebut dengan computational thinking.

Berpikir komputasional adalah proses abstraksi sebuah permasalahan ke dalam bentuk yang dapat diproses oleh komputer. Agar sebuah sistem dapat diselesaikan oleh komputer maka sistem tersebut perlu dimodelkan dalam bentuk/ format yang dapat diproses oleh komputer.

Untuk memahami bisa melihat video di bawah ini 

https://www.youtube.com/watch?time_continue=66&v=VFcUgSYyRPg

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 :
  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. https://www.google.com/edu/programs/exploring-computational-thinking/
  2. http://en.wikipedia.org/wiki/Computational_thinking
  3. http://www.open.edu/openlearn/science-maths-technology/computing-and-ict/introduction-computational-thinking/content-section-0
  4. https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
  5. http://www.bebras.org/
  6. http://bebras.or.id/index.html
  7. https://barefootcas.org.uk/barefoot-primary-computing-resources/concepts/computational-thinking/
  8. https://computationalthinkingcourse.withgoogle.com/unit
  9. https://computationalthinkingcourse.withgoogle.com/unit?unit=1&lesson=21
  10. https://edu.google.com/resources/programs/exploring-computational-thinking/
  11. https://edu.google.com/resources/programs/exploring-computational-thinking/#!ct-materials



Evaluasi Akhir Semester Pemrograman Web D - 2017

Buatlah link dari web address, hasil Final Project anda.

  1. Tuliskan Nrp, Nama, dan kelas 
  2. Tuliskan deskribsi Fitur-Fitur yang berhasil dibuat.
  3. Sertakan screenshot dari Fitur yang dibuat.



Evaluasi Akhir Semester Pemrograman Berbasis Obyek 2017

Setelah melakukan Demo Program yang dilakukan minggu lalu, buatlah dokumentasi program. Hal-hal yang perlu dilakukan adalah :
  1. Buatlah deskribsi dari Final Project yang dikerjakan, jelaskan fitur-fitur yang ada, dan juga diagram kelas aplikasi.
  2. Dokumentasi dibuat pada blog masing-masing, kemudian alamat blog di koment pada posting ini.
  3. Kode program yang ditulis diupload di github, atau bisa juga di blog dengan bentuk  source code yang dipakai.
  4. Hasil eksekusi program di screenshot dan sertakan penjelasannya di dalam blog.

Membuat Game

Membuat Game

Ingin membuat game tapi tidak mengerti bahasa pemrograman? Tidak perlu kecil hati, karena sekarang sudah banyak aplikasi yang bisa membantumu membuat game meski tanpa bisa coding. Kamu tetap harus menyediakan aset grafis dan suara sendiri, namun setidaknya aplikasi-aplikasi tersebut bisa meringankan beban kerjamu.

Tergantung dari game seperti apa yang ingin kamu buat, aplikasi pembantu yang harus kamu gunakan bisa berbeda-beda. Memang kamu tidak akan bisa membuat game super kompleks seperti Final Fantasy XV, tapi untuk game yang lebih sederhana, lima aplikasi di bawah bisa kamu coba.

Referensi :
  1. https://id.techinasia.com/daftar-aplikasi-membuat-game-tanpa-perlu-bisa-coding
  2. http://www.sdgamingbootcamp.com/
  3. http://www.mrgamedev.com/
  4. http://www.2dgameartguru.com/
  5. https://2d-game-art-tutorials.zeef.com/chris.hildenbrand
  6. 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

Evaluasi Akhir Semester Manajemen Proyek Perangkat Lunak 2017

Diketahui pemerintah setiap tahun menyelenggarakan Seleksi Penerimaan Mahasiswa PTN di seluruh Indonesia. Model seleksi dan ruanglingkup fitur aplikasi seleksi dapat di lihat di bawah ini.




Sbmptn gambaran antarmuka1 from Fajar Baskoro

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

Pong adalah permainan video generasi pertama yang dirilis sebagai permainan arkade yang dioperasikan dengan koin yang dikembangkan oleh Atari Inc. pada tanggal 29 November, 1972.Pong didasari dari permainan atau olahraga tenis meja (Ping pong), nama permainan ini berasal dari suara yang dihasilkan ketika memukul bola ping pong.Kata Pong telah didaftarkan sebagai merek dari Atari Interactive.


Pong dengan cepat menjadi permainan komersial pertama yang sangat sukses, dan merupakan permulaan dari industri permainan video. Tak lama setelah dirilis, beberapa perusahaan berusaha menyalin permainan Pong, dan merilis beberapa permainan baru. Sehingga, Atari memberanikan pegawainya untuk membuat permainan yang lebih inovatif. Beberapa sekuel muncul dengan permainan yang sama, namun dengan fitur baru. Pada permulaan Natal 1975, Atari secara eksklusif merilis versi rumahan Pong via toko ritel Sears.










Antarmuka SBMPTN

SBMPTN singkatan dari Seleksi Bersama Masuk Perguruan Tinggi Negeri. SBMPTN merupakan seleksi masuk PTN yang umum, yakni menggunakan nilai ujian tertulis yang diselenggarakan serentak oleh semua PTN. Jadi variabel nilai semasa SMA tidak diperhitungkan, yang diperhitungkan adalah nilai dari hasil ujian tulis masuk PTN.



Untuk memperlancar SBMPTN dibuatlah aplikasi proses pendaftaran, pengelolaan ujian, dan pengumuman kelulusan. Gambaran umum antar muka SBMPTN dapat dilihat di bawah ini.

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:

  1. 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.
  2. Pemrosesan di Back-End
    Back-end menerima permintaan tersebut dan menjalankan logika bisnis yang sesuai, misalnya mengambil daftar produk dari database.
  3. 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:
    1. Front-end mengambil input kata kunci dari pengguna.
    2. Front-end mengirim permintaan (request) GET ke endpoint API di back-end, misalnya /api/products?query=keyword.
  • Back-End:
    1. Back-end menerima permintaan, memeriksa apakah query ada di database.
    2. Jika data produk ditemukan, back-end mengirim hasilnya kembali ke front-end dalam format JSON.
  • Kembali ke Front-End:
    1. Front-end menerima data produk dari back-end.
    2. Front-end menampilkan daftar produk ke pengguna.

PHP


PHP adalah singkatan dari "PHP: Hypertext Prepocessor", yaitu bahasa pemrograman yang digunakan secara luas untuk penanganan pembuatan dan pengembangan sebuah situs web dan bisa digunakan bersamaan dengan HTML. PHP diciptakan oleh Rasmus Lerdorf pertama kali tahun 1994. 

Pada awalnya PHP adalah singkatan dari "Personal Home Page Tools". Selanjutnya diganti menjadi FI ("Forms Interpreter"). Sejak versi 3.0, nama bahasa ini diubah menjadi "PHP: Hypertext Prepocessor" dengan singkatannya "PHP". Berdasarkan survey Netcraft pada bulan Desember 1999, lebih dari sejuta website menggunakan PHP, di antaranya adalah NASA, Mitsubishi, dan RedHat.

PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client).

Pengguna PHP dari semua website dapat dilihat di bawah ini :




Materi



Php 1 from Fajar Baskoro


Buku



Studi kasus Aplikasi pendaftaran SBMPTN




Absensi




Latihan



Referensi :