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) - 2 - Aplikasi Hello World

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