Rabu, 30 April 2025

PPB (D) - 4 - Aplikasi Dice Roller

Nama : Richie Seputro

NRP : 5025211213

Kelas : Pemrograman Perangkat Bergerak D

Tahun Ajaran : 2024/2025 (Semester Genap)

Link Repository: https://github.com/faillock/PPB-D-4-Dice-Roller

Link Demo: https://youtube.com/shorts/3GYImPgH5a8

 

TUGAS 4: APLIKASI DICE ROLLER


Pada tugas 4, diberikan tugas untuk membuat aplikasi dice roller yang memanfaatkan sebuah button untuk mengubah state dan memicu rekomposisi UI aplikasi. Link Codelabs yang menjadi referensi: https://developer.android.com/codelabs/basic-android-kotlin-compose-build-a-dice-roller-app. Selain mengikuti tutorial dari Codelabs, saya menambahkan fitur custom yaitu animasi gambar dadu yang berputar, memberikan kesan seolah-olah dadunya memang dilempar dan teks yang menunjukkan berapa kali dadu telah dilempar. Animasi dapat dilihat dengan jelas pada video pada link demo.

Gambar 1. Dadu belum dilempar

Gambar 2. Dadu dilempar 1 kali

Gambar 3. Dadu dilempar 5 kali

Sabtu, 26 April 2025

PPB (D) - 3 - Aplikasi Happy Birthday

Nama : Richie Seputro

NRP : 5025211213

Kelas : Pemrograman Perangkat Bergerak D

Tahun Ajaran : 2024/2025 (Semester Genap)

Link Repository: https://github.com/faillock/PPB-D-3-Happy-Birthday

Link Demo: https://youtu.be/6dFcPBq9z_A

 

TUGAS 3: APLIKASI HAPPY BIRTHDAY
 
Pada tugas ini diinstruksikan untuk mengikuti langkah-langkah dari https://developer.android.com/codelabs/basic-android-kotlin-compose-text-composables untuk membuat aplikasi Happy Birthday. Berikut di bawah merupakan aplikasi yang saya hasilkan mengikuti langkah-langkah tersebut dan saya tambahkan styling agar lebih enak dipandang.
 

 

Rabu, 23 April 2025

PPB (D) - ETS - Aplikasi Todo-List "Tudulis"

Nama : Richie Seputro; Radhiyan M. Hisan

NRP : 5025211213; 5025211166

Kelas : Pemrograman Perangkat Bergerak D

Tahun Ajaran : 2024/2025 (Semester Genap)

Link Repository: https://github.com/faillock/PPB-D-ETS-Tudulis

Link Video Desain: https://youtu.be/kipAIHoDX6Q

Link Video Demo: https://youtu.be/zcaupE3uH-s

 

ETS (Kelompok 13): Aplikasi Todo-List "Tudulis"


Deskripsi:

Tudulis adalah aplikasi mobile yang dapat membantu anda mengelola kesibukan Anda mulai dari mengorganisir kegiatan harian sampai perencanaan yang lebih panjang. Tudulis adalah solusi produktivitas yang berbentuk daftar kegiatan atau sering dikenal sebagai todo list app yang mudah digunakan dan memiliki tampilan yang menarik dan intuitif.
 

Fitur:

1. Tambah, ubah, dan hapus item dalam daftar
2. Pengategorian (keterangan kategori atau tag) dengan warna
3. Kolom pencarian
4. Statistik singkat
5. Penyaringan berdasarkan kategori atau tag


Desain:

Rabu, 16 April 2025

PPB (D) - 2 - Aplikasi Hello World

Nama : Richie Seputro

NRP : 5025211213

Kelas : Pemrograman Perangkat Bergerak D

Tahun Ajaran : 2024/2025 (Semester Genap)

Link Repository: https://github.com/faillock/PPB-D-2-Hello-World

Link Demo: https://youtu.be/qQAAj3wRCaA

 

TUGAS 2: APLIKASI HELLO WORLD

 

Pada tugas kedua, diberikan arahan untuk mengikuti materi dan membuat aplikasi mobile seperti yang tertera pada laman https://developer.android.com/codelabs/jetpack-compose-basics. Berikut adalah aplikasi yang saya hasilkan berdasarkan arahan tersebut. 

Gambar 1. OnboardingScreen

Pada Gambar 1 terdapat fungsi Composable bernama OnboardingScreen yang menampilkan layar penyambut ketika aplikasi pertama kali diluncurkan. Ketika tombol Continue ditekan, maka aplikasi tidak akan menampilkan layar penyambut tersebut lagi kecuali aplikasi dimulai ulang.

Gambar 2. Greetings dan Greeting

Pada Gambar 2 terdapat fungsi-fungsi Composable bernama Greetings dan Greeting yang mengatur tampilnya konten seperti daftar kartu bertuliskan "Hello" diikuti angka. Greetings mengatur berapa banyak kartu yang muncul dan data apa yang akan di-passing ke komponen di dalamnya. Greeting berisi komponen Card yang di dalamnya berisi CardContent.

Gambar 3. CardContent

Pada Gambar 3 terdapat fungsi Composable bernama CardContent yang mengatur isi dari kartu. Pada fungsi ini, dimuat elemen-elemen seperti elemen kontainer Row dan Column, lalu elemen Text bertuliskan "Hello" dan angka dinamis, serta hidden Text yang akan muncul ketika tombol Show More ditekan. Jika tombol Show Less ditekan, maka hidden Text akan menghilang kembali.
 
Gambar 4. Preview
 
Pada Gambar 4 terdapat beberapa Preview yang digunakan untuk melihat tampilan aplikasi tanpa perlu menyalakan Android Virtual Device. Selain itu, dimensi / ukuran dari Preview dapat disesuaikan dengan mudah. Preview yang dihasilkan dapat dilihat pada bilah di sebelah kanan.
 
Link repository dan link demo aplikasi tertera di header post ini. Pada video demo akan ditampilkan efek animasi yang sudah diterapkan pada kontainer Row pada CardContent.

Selasa, 04 Maret 2025

PPB (D) - 1 - Infografis Evolusi Perangkat Bergerak

Nama : Richie Seputro

NRP : 5025211213

Kelas : Pemrograman Perangkat Bergerak D

Tahun Ajaran : 2024/2025 (Semester Genap)

 

TUGAS 1: INFOGRAFIS EVOLUSI PERANGKAT BERGERAK

 

Gambar 1. Infografis Evolusi Perangkat Bergerak

Minggu, 17 Desember 2023

PBKK - FP - Cloud Based Data Search with Google Apps Script

Nama : Richie Seputro, Andhika Lingga Mariano, Frederick Yonatan Susanto

Referensi Jurnal:

 

Buatlah deskripsi studi kasus aplikasi ditinjau dari MVC nya(individu)

Aplikasi kami adalah aplikasi yang berupa aplikasi web yang terintegrasi dengan Google

Apps Script yang bisa menampilkan data dari spreadsheet ke view website, meng-insert

data dari view website ke spreadsheet, dan bisa melakukan read/menampilkan data sesuai

dengan search term user dan bisa diurutkan berdasarkan kolom


  • Model: 

Satu sheet (table) yang bernama Produk. Atribut: ID Produk, Nama Produk,
Deskripsi Produk, Kategori Produk, Negara Asal, Kondisi Produk (baru atau bekas),
Harga, Stok, dan Timestamp ketika produk di-insert atau di-update.


  • View:

  1. Insert view (memasukkan data produk)

  2. List view (lihat semua data produk, juga mengandung fungsionalitas delete)

  3. Search view (lihat semua data produk yang sesuai dengan search terms)

  4. Edit view (memodifikasi data produk)


  • Controller:

  1. InsertController: menambahkan data produk baru ke spreadsheet

  2. ListController: menampilkan seluruh data produk

  3. SearchController: menampilkan data produk sesuai dengan pencarian

  4. EditController: meminta data baru kepada pengguna dan mengubah data di sheets

  5. DeleteController: menghapus record data yang dipilih


Buatlah rancangan umum arsitektur atau fitur yang ada dalam aplikasi  (individu)

Website kami terdiri dari satu tampilan utama yang mana mengandung berbagai view yang
disebutkan di atas. Aplikasi dibuat demikian agar seorang pengguna dapat dengan mudah
melakukan semua fungsionalitas CRUD dengan cepat dan tanpa distraksi.


Fitur-fitur yang ada adalah aplikasi kami meliputi:

  1. Create

  2. Read

  3. Update

  4. Delete

     


Rancang desain databasenya  (individu)




Buat desain front end  (individu)




Tentukan Control yang akan menghandle logika back end.  (individu)


1. Fungsi Create Record untuk membuat record baru : 


function createRecord(values) {


  try {

    let valueRange = Sheets.newRowData();

    valueRange.values = values;


    let appendRequest = Sheets.newAppendCellsRequest();

    appendRequest.sheetId = SPREADSHEETID;

    appendRequest.rows = valueRange;


    Sheets.Spreadsheets.Values.append(valueRange, SPREADSHEETID,
        DATARANGE, { valueInputOption: "RAW" });

  } catch (err) {

    console.log('Failed with error %s', err.message);

  }

}


2. Fungsi Read Record untuk membaca record yang ada :

function readRecord(range) {

  try {

    let result = Sheets.Spreadsheets.Values.get(SPREADSHEETID, range);

    return result.values;

  } catch (err) {

    console.log('Failed with error %s', err.message);

  }

}


3. Fungsi Update Record untuk mengupdate record yang ada :

function updateRecord(values, updateRange) {

  try {

    let valueRange = Sheets.newValueRange();

    valueRange.values = values;

    Sheets.Spreadsheets.Values.update(valueRange, SPREADSHEETID,

       updateRange, { valueInputOption: "RAW" });

  } catch (err) {

    console.log('Failed with error %s', err.message);

  }

}


4. Fungsi Delete Record untuk delete record yang ada :

function deleteRecord(id) {

  const rowToDelete = getRowIndexById(id);

  const deleteRequest = {

    "deleteDimension": {

      "range": {

        "sheetId": DATASHEETID,

        "dimension": "ROWS",

        "startIndex": rowToDelete,

        "endIndex": rowToDelete + 1

      }

    }

  };

  Sheets.Spreadsheets.batchUpdate({ "requests": [deleteRequest] },

      SPREADSHEETID);

  return getLastTenRecords();

}


5. Fungsi Search Record untuk mencari record dari record-record yang ada :

function searchRecords(formObject) {

  let result = [];

  try {

    if (formObject.searchText) {//Execute if form passes search text

      const data = readRecord(DATARANGE);

      const searchText = formObject.searchText;


      // Loop through each row and column to search for matches

      for (let i = 0; i < data.length; i++) {

        for (let j = 0; j < data[i].length; j++) {

          const cellValue = data[i][j];

          if (cellValue.toLowerCase().includes(searchText.toLowerCase())) {

            result.push(data[i]);

            break; // Stop searching for other matches in this row

          }

        }

      }

    }

  } catch (err) {

    console.log('Failed with error %s', err.message);

  }

  return result;

}



Implementasikan rancangan yang sudah dibuat  menggunakan Framework NET, CI

ataupun Framework Google (pilih salah satu - bisa kelompok maks 3)



Buat video presentasinya, upload di youtube, dan didokumentasikan di blog.

 


 

PPB (D) - 4 - Aplikasi Dice Roller

Nama : Richie Seputro NRP : 5025211213 Kelas : Pemrograman Perangkat Bergerak D Tahun Ajaran : 2024/2025 (Semester Genap) Link Repository:  ...