Materi DFD dan Tugas 2 - ASDOS RPL FTI UKSW

Juni 17, 2023
Materi DFD dan Tugas 2 - ASDOS RPL FTI UKSW

MATERI DFD dan TUGAS 2


Materi DFD :

https://docs.google.com/presentation/d/1RRxf_Cr_ZnXs6nVCuiV_X3SAp21_lXgs/edit?usp=sharing&ouid=109658450447831324093&rtpof=true&sd=true


Tugas 2 :

https://docs.google.com/document/d/1q3DEmeVN4oY9ZXOicaof1N06brfDrrVqmWhRq6nI0mw/edit?usp=sharing

Tugas 1 ASDOS RPL - FTI UKSW

Juni 08, 2023
Tugas 1 ASDOS RPL - FTI UKSW

 TUGAS 1
MATKUL RPL
KELAS ASDOS RPL


Untuk mengakses file soal silahkan klik link berikut ini :

https://docs.google.com/document/d/10HJxFK6z4ZHn2gRifRYh-X3ZihQzpBPZUfpBD6bMDBI/edit?usp=sharing


Jika ada yang ingin ditanyakan bisa langsung chat melalui grup whatsapp maupun chat personal ke asdos. Tetap semangat dan Tuhan memberkati 😁

Silabus dan Kontrak Kuliah Kelas ASDOS RPL FTI UKSW

Mei 24, 2023
Silabus dan Kontrak Kuliah Kelas ASDOS RPL FTI UKSW

 Silabus dan Kontrak Kuliah Kelas ASDOS RPL FTI UKSW


Untuk mengakses silabus dan kontrak kuliah silahkan mengakses ppt berikut ini :

Jika ada yang ingin ditanya bisa langsung menghubungi asdos. Kamsia

Materi Rekaya Perangkat Lunak Dosen

Mei 22, 2023
Materi Rekaya Perangkat Lunak Dosen

 Ebook PDF Free Rekaya Perangkat Lunak 

Rekayasa Perangkat Lunak (Software Engineering) adalah disiplin ilmu yang berkaitan dengan pengembangan perangkat lunak secara sistematis, terstruktur, dan disiplin ilmu. Materi-materi utama yang terkait dengan rekayasa perangkat lunak meliputi:
1. Analisis Kebutuhan (Requirement Analysis): Proses untuk memahami, mendokumentasikan, dan mengelola kebutuhan pengguna dan sistem yang akan dikembangkan. Ini melibatkan identifikasi tujuan, fungsionalitas, dan batasan sistem yang diinginkan.
2. Perancangan Perangkat Lunak (Software Design): Tahap ini melibatkan merancang struktur sistem perangkat lunak yang akan dikembangkan. Hal ini mencakup perancangan arsitektur, desain modul, antarmuka pengguna, dan desain database.
3. Implementasi Perangkat Lunak (Software Implementation): Tahap ini melibatkan pembuatan perangkat lunak berdasarkan desain yang telah dirancang sebelumnya. Biasanya dilakukan dengan menggunakan bahasa pemrograman dan alat pengembangan perangkat lunak.
4. Pengujian Perangkat Lunak (Software Testing): Proses verifikasi dan validasi perangkat lunak untuk memastikan bahwa perangkat lunak berfungsi sesuai dengan kebutuhan yang telah ditetapkan. Tujuan pengujian adalah untuk menemukan kesalahan (bug), memastikan kualitas, dan memastikan kelayakan perangkat lunak.
5. Pemeliharaan Perangkat Lunak (Software Maintenance): Proses untuk memperbaiki, meningkatkan, dan memperluas perangkat lunak setelah dirilis. Pemeliharaan dapat melibatkan perbaikan bug, peningkatan performa, penyesuaian dengan perubahan kebutuhan, dan penambahan fitur baru.
6. Manajemen Proyek Perangkat Lunak (Software Project Management): Disiplin yang terkait dengan perencanaan, pengorganisasian, dan pengendalian proyek pengembangan perangkat lunak. Ini melibatkan pengaturan jadwal, alokasi sumber daya, pemantauan kemajuan, dan manajemen risiko.
7. Rekayasa Perangkat Lunak Berorientasi Objek (Object-Oriented Software Engineering): Pendekatan pengembangan perangkat lunak yang menggunakan konsep pemrograman berorientasi objek. Hal ini melibatkan pemodelan sistem menggunakan objek, kelas, pewarisan, dan polimorfisme.
8. Rekayasa Perangkat Lunak Bergerak (Mobile Software Engineering): Prinsip dan praktik yang berkaitan dengan pengembangan perangkat lunak untuk perangkat bergerak, seperti smartphone dan tablet. Ini melibatkan pertimbangan khusus untuk keterbatasan perangkat keras dan perangkat lunak yang ada pada platform mobile.
9. Rekayasa Perangkat Lunak Berbasis Web (Web Software Engineering): Pengembangan perangkat lunak yang terkait dengan aplikasi berbasis web. Ini meliputi pengembangan antarmuka pengguna web, pengembangan backend, keamanan web, dan optimisasi kinerja web.

Itu adalah beberapa materi utama yang terkait dengan rekayasa perangkat lunak. Tentu saja, ada banyak lagi topik yang lebih rinci yang dapat dipelajari dalam bidang ini.

Berikut ini modul yang akan digunakan untuk kelas RPL dosen FTI - UKSW 
Download pdf disini : 

Tutorial Install Visual Studio dan Setup Freeglut dan Glew (Materi 1 - Grafkom FTI UKSW)

April 29, 2023

 Tutorial Install Visual Studio dan Setup Freeglut dan Glew

Materi 1 Grafkom FTI UKSW - ASDOS 2023


Tahap 1 - Download visual studio. 

1. Melalui website resmi ini https://visualstudio.microsoft.com/vs/community/ lalu scroll kebawah pilih yang Visual Studio Community 2022 lalu klik free download atau download melalui drive berikut ini https://drive.google.com/file/d/1fHN9cXHDkge6g3-R-Z__3-puQsg5KGIf/view?usp=sharing. Jika sudah terdownload langsung install saja. Proses install sama seperti install software pada umumnya. Hanya pada Workloads centang pada Game development with C++ lalu pilih Download All then Install dan klik Install.



Tahap 2 - Membuat Project.

1. Klik pada sisi layar bagian kanan yaitu Create New Project.
2. Pilih bahasa pemrograman yang akan digunakan dalam project, disini akan menggunakan C++ 
3. Pilihlah Empty Project dan klik Next di bagian bawah kanan
4. Beri nama project dan sesuaikan lokasi penyimpanan project, lalu klik Create
5. Project telah berhasil dibuat
6. Selanjutnya yaitu membuat class, dengan cara klik kanan pada project di bagian nama project, lalu klik Add dan pilih New Item (Ctrl + Shift + A)
7. Akan muncul window baru, perhatikan bagian kolom kiri pilihlah Visual C++, lalu pilih Code. Setelah itu pilih pada C++ File (.cpp) seperti pada gambar berikut
8. Ganti nama file menjadi main.cpp untuk memudahkan, namun disini nama file sebenarnya bebas. Lalu klik Add


Tahap 3 - Instalasi Glut dan Glew

1. Klik kanan pada project di bagian nama project, lalu klik Properties (Alt + Enter) 
2. Yang pertama yaitu memilih Configuration pada bagian kiri atas, disini dapat disesuaikan kebutuhan masing-masing project, namun untuk tugas ini menggunakan All Configuration. Selanjutnya untuk Platform juga dapat disesuaikan pada kebutuhan project, untuk tugas ini menggunakan pilihan All Platform. 
3. Masuk pada bagian kolom kiri, pilih C/C++. Selanjutnya pilih General. Bagian kolom kanan, klik more (v) pada Additional Include Directiories lalu klik <Edit...>
4. Klik newline pada textbox paling atas, lalu klik Browse (...)
5. Cari folder “include” yang sudah diunduh dalam folder Freeglut. Setelah ditemukan, select folder “include” lalu klik Select Folder. Download resource disini https://drive.google.com/file/d/1g6xcJCwYArVnGJo784vAHsl5NGE4jVrI/view?usp=share_link (Nama folder Glew and Glut).
6. Klik newline lagi, Cari folder “include” yang sudah diunduh dalam folder Glew.
7. Lalu setelah dua folder “include” dari Freeglut dan Glew selesai dimasukkan, klik OK
8. Selanjutnya perhatikan lagi kolom kiri, pilih Linker lalu pilih Input. Selanjutnya pada kolom kanan,
klik more (v) pada Additional Dependencies lalu klik <Edit...>
9. Tambahkan dua baris teks yaitu freeglut.lib glew32.lib seperti gambar berikut, kemudian klik OK
10. Selanjutnya perhatikan lagi kolom kiri, pilih General. Pada kolom kanan, klik more (v) pada
Additional Library Directories lalu klik <Edit...>

















11. Klik new line pada textbox paling atas, lalu klik Browse (...). Cari folder “lib” yang sudah diunduh dalam folder Freeglut. Setelah ditemukan, select folder “lib” lalu klik Select Folder. Lalu klik new line lagi pada textbox paling atas, lalu klik Browse (...). Cari folder “lib” yang sudah diunduh dalam folder Glew. Setelah ditemukan, select folder “lib” lalu klik Select Folder. Lalu setelah dua folder “lib” dari Freeglut dan Glew selesai dimasukkan, klik OK
12. Lalu setelah dua folder “lib” dari Freeglut dan Glew selesai dimasukkan, klik OK



Tahap 4 - Salin file DLL kedalam folder project

1. Anda dapat dengan mudah mencari direktori dari project anda dengan cara klik kanan pada project,
lalu pilih Open Folder in File Explorer
Setelah itu anda dapat melakukan proses copy file freeglut.dll dan glew32.dll dari folder yang sudah
diunduh sebelumnya menuju ke direktori project
Copas ke sini
Jadi seperti ini
2. Setelah proses copy selesai, anda dapat mulai menuliskan kode program. Setelah kode program selesai ditulis, anda dapat mencoba untuk Run project anda. Berikut adalah contoh tampilan project yang sudah terkonfigurasi dan dapat dijalankan. Copas code berikut ini https://drive.google.com/file/d/14kpnkEnve7pjOqKWqU4oR-XOiImPMrZ9/view?usp=share_link (Nama file : Coba Code Grafkom.txt) copas code taro di main.cpp






Deteksi Objek Pada Gambar Dengan Python

April 04, 2023

 Deteksi Objek Pada Gambar Dengan Python


contoh output

1. Apa itu Deteksi objek?

        Deteksi objek adalah teknik visi komputer di mana sistem perangkat lunak dapat mendeteksi, menemukan, dan melacak objek dalam gambar atau video tertentu. Atribut khusus pengenalan objek adalah pengenalan kelas objek seperti orang, meja, kursi, dll. dan koordinat spesifik lokasinya dalam gambar tertentu. Lokasi ditunjukkan dengan menggambar kotak pembatas di sekitar objek. Kotak pembatas mungkin atau mungkin tidak secara tepat menemukan  objek. Kemampuan untuk menemukan objek  dalam suatu gambar menentukan efisiensi algoritma yang digunakan untuk pendeteksian. Pengenalan wajah adalah salah satu contoh pengenalan objek. 
        Algoritme deteksi objek ini dapat dilatih sebelumnya atau  dilatih dari awal. Dalam kebanyakan kasus, kami menggunakan bobot yang diperoleh dari model yang telah dilatih sebelumnya dan kemudian menyempurnakannya sesuai dengan kebutuhan kami dan kasus penggunaan yang berbeda.

2. Apa itu TensorFlow?

        Tensorflow dan Keras adalah pustaka sumber terbuka untuk komputasi numerik dan pembelajaran mesin skala besar yang memfasilitasi proses pengumpulan data Google Brain TensorFlow, model pelatihan, prediksi, dan peningkatan hasil di masa mendatang. Tensorflow menggabungkan pembelajaran mesin dan model serta algoritme pembelajaran mendalam. Itu menggunakan Python sebagai antarmuka yang nyaman dan menggunakannya secara efisien dalam C. Tensorflow yang dioptimalkan memungkinkan pengembang untuk melakukan perhitungan. Setiap simpul dalam grafik mewakili operasi matematika dan setiap tautan mewakili data. Oleh karena itu, pemrogram dapat fokus pada keseluruhan logika aplikasi, daripada berurusan dengan detail yang lebih kecil seperti  cara yang benar untuk menghubungkan output dari satu fungsi ke input fungsi lainnya. Google Brain, kelompok riset kecerdasan buatan pembelajaran mendalam  Google, mengembangkan TensorFlow pada tahun 2015  untuk penggunaan internal Google.
        Tim peneliti menggunakan pustaka perangkat lunak sumber terbuka ini untuk melakukan beberapa tugas penting. TensorFlow saat ini merupakan pustaka perangkat lunak paling populer. TensorFlow telah dipopulerkan oleh beberapa aplikasi deep learning dunia nyata. TensorFlow adalah pustaka sumber terbuka untuk pembelajaran mendalam dan pembelajaran mesin, sehingga menemukan perannya dalam aplikasi berbasis teks, pengenalan gambar, pencarian ucapan, dan aplikasi lainnya. Sistem pengenalan gambar Facebook DeepFace menggunakan TensorFlow untuk mengenali gambar. Siri Apple menggunakannya untuk pengenalan suara. Setiap aplikasi Google yang Anda gunakan memanfaatkan TensorFlow untuk meningkatkan pengalaman Anda.

3. Menulis Program

import tensorflow as tf 
import tensorflow_hub as hub    
import numpy as np
from PIL import Image
from PIL import ImageColor
from PIL import ImageDraw
from PIL import ImageFont
from PIL import ImageOps
import matplotlib.pyplot as plt
import tempfile
from six.moves.urllib.request import urlopen
from six import BytesIO
import time
def display_image(image):
  fig = plt.figure(figsize=(20, 15))
  plt.grid(False)
  plt.imshow(image)

def download_and_resize_image(urlnew_width=256new_height=256,
                              display=False):
  _, filename = tempfile.mkstemp(suffix=".jpg")
  response = urlopen(url)
  image_data = response.read()
  image_data = BytesIO(image_data)
  pil_image = Image.open(image_data)
  pil_image = ImageOps.fit(pil_image, (new_width, new_height), Image.ANTIALIAS)
  pil_image_rgb = pil_image.convert("RGB")
  pil_image_rgb.save(filename, format="JPEG", quality=90)
  print("Image downloaded to %s." % filename)
  if display:
    display_image(pil_image)
  return filename

def draw_bounding_box_on_image(image,
                               ymin,
                               xmin,
                               ymax,
                               xmax,
                               color,
                               font,
                               thickness=4,
                               display_str_list=()):
  """Adds a bounding box to an image."""
  draw = ImageDraw.Draw(image)
  im_width, im_height = image.size
  (left, right, top, bottom) = (xmin * im_width, xmax * im_width,
                                ymin * im_height, ymax * im_height)
  draw.line([(left, top), (left, bottom), (right, bottom), (right, top),
             (left, top)],
            width=thickness,
            fill=color)

  display_str_heights = [font.getsize(ds)[1] for ds in display_str_list]
  total_display_str_height = (1 + 2 * 0.05) * sum(display_str_heights)

  if top > total_display_str_height:
    text_bottom = top
  else:
    text_bottom = top + total_display_str_height
  for display_str in display_str_list[::-1]:
    text_width, text_height = font.getsize(display_str)
    margin = np.ceil(0.05 * text_height)
    draw.rectangle([(left, text_bottom - text_height - 2 * margin),
                    (left + text_width, text_bottom)],
                   fill=color)
    draw.text((left + margin, text_bottom - text_height - margin),
              display_str,
              fill="black",
              font=font)
    text_bottom -= text_height - 2 * margin


def draw_boxes(imageboxesclass_namesscoresmax_boxes=10min_score=0.1):
  """Overlay labeled boxes on an image with formatted scores and label names."""
  colors = list(ImageColor.colormap.values())

  try:
    font = ImageFont.truetype("/usr/share/fonts/truetype/liberation/LiberationSansNarrow-Regular.ttf",
                              25)
  except IOError:
    print("Font not found, using default font.")
    font = ImageFont.load_default()

  for i in range(min(boxes.shape[0], max_boxes)):
    if scores[i] >= min_score:
      ymin, xmin, ymax, xmax = tuple(boxes[i])
      display_str = "{}: {}%".format(class_names[i].decode("ascii"),
                                     int(100 * scores[i]))
      color = colors[hash(class_names[i]) % len(colors)]
      image_pil = Image.fromarray(np.uint8(image)).convert("RGB")
      draw_bounding_box_on_image(
          image_pil,
          ymin,
          xmin,
          ymax,
          xmax,
          color,
          font,
          display_str_list=[display_str])
      np.copyto(image, np.array(image_pil))
  return image
module_handle="https://tfhub.dev/google/faster_rcnn/openimages_v4/inception_resnet_v2/1"
detector = hub.load(module_handle).signatures['default']
image_url="/content/dog.jpg"
def load_img(path):
  img = tf.io.read_file(path)
  img = tf.image.decode_jpeg(img, channels=3)
  return img

def run_detector(detectorpath):
  img = load_img(path)

  converted_img  = tf.image.convert_image_dtype(img, tf.float32)[tf.newaxis, ...]
  start_time = time.time()
  result = detector(converted_img)
  end_time = time.time()

  result = {key:value.numpy() for key,value in result.items()}

  print("Found %d objects." % len(result["detection_scores"]))
  print("Inference time: ", end_time-start_time)

  image_with_boxes = draw_boxes(
      img.numpy(), result["detection_boxes"],
      result["detection_class_entities"], result["detection_scores"])

  display_image(image_with_boxes)
run_detector(detector, image_url)

Code lengkap dengan google colab sebagai berikut : Klik ini!!!!!!

4. Demo Program 




5. Kesimpulan

        Dalam posting ini saya telah menunjukkan bagaimana mengimplementasikan deteksi objek sederhana melalui python dan openCV.

SIMULATED ANNELLING

Maret 16, 2023

SIMULATED ANNELLING


1. DEFINISI : 

  • Simulated Annealing merupakan metode metaheuristik yang menggunakan analogi proses annealing pada zat padat. 
  • Didalam ilmu metalurgi, proses annealing berarti memberikan perlakuan panas pada logam untuk merubah sifat logam tersebut misalnya untuk merubah kekuatan maupun kekerasan logam.
  • Proses annealing dilakukan dengan memanasi logam sampai diatas titik leburnya, mempertahankannya pada suhu tertentu sebelum kemudian diinginkan.

2. KOMPONEN SIMULATED ANNELLING : 

  • Fungsi penerimaan memungkinkan kandidat solusi yang tidak baik dipakai untuk dasar pencarian selanjutnya. Probabilitas menerima solusi yang kurang baik proporsional dengan nilai T dan berbanding terbaik dengan Delta E . Berdasarkan hukum termodinamika, pada suhu T, probabilitas peningkatan energy Delta E adalah 
  • Jadi pada saat nilai T tinggi, probabilitas solusi yang kurang baik diterima juga tinggi. Sedangkan jika nilai T rendah, maka probabilitasnya mengecil.
  • Jadwal pendinginan menentukan seberapa besar nilai T harus diubah setelah keseimbangan termal dicapai. Performa metode Simulated Annealing sangat sensitive dengan jadwal pendinginan. Parameter yang perlu diperhatikan terkait dengan jadwal pedinginan adalah: suhu awal, keadaan kesetimbangan termal, fungsi pendinginan dan kriteria untuk menghentikan proses pencarian
3. PENERAPAN SIMULATED ANNELLING

  • SA biasanya digunakan untuk penyelesaian masalah yang terkait dengan perubahan keadaan dari suatu kondisi ke kondisi yang lainnya yang membutuhkan ruang yang sangat luas.
  • Contoh : Travelling Salesman Problem
4. DEMO :


Database dengan PDO (PHP Data Object)

Maret 16, 2023

Database dengan PDO (PHP Data Object)


PDO adalah ekstensi koneksi database abstrak yang dapat  digunakan untuk terhubung ke berbagai jenis database (MySQL, Oracle, PostgreSQL, dll.). Meskipun ekstensi tertentu (seperti MySQLi) mungkin memiliki kinerja yang sedikit lebih baik, saya menyarankan untuk menggunakan PDO jika memungkinkan. Kode PDO dapat dengan mudah diubah untuk menggunakan tipe database yang berbeda, dan memiliki sintaks yang lebih mudah dibaca dibandingkan dengan sebagian besar ekstensi lainnya. Ini juga mendukung pernyataan yang disiapkan, yang saya sarankan digunakan untuk mencegah serangan injeksi SQL. 

Sebelum menggunakan database Anda perlu menghubungkannya terlebih dahulu. Proses ini umum di semua jenis database terlepas dari bahasa yang digunakan. Di sini Anda akan mempelajari kode untuk menghubungkan ke database MySQL menggunakan kelas PDO. Ini merupakan praktik yang baik untuk menyimpan detail koneksi database di tempat umum dan memanggilnya dari halaman berbeda yang diperlukan. Ini membantu dalam mempertahankan kode ketika detail koneksi database berubah atau skrip dipindahkan ke server yang berbeda dengan detail koneksi yang berbeda. Jika Anda tidak menggunakan file umum maka untuk mengubah detail database Anda tidak perlu mengubah string koneksi di semua file. Dengan menyimpan semua detail di satu tempat jika kami memperbarui detail maka semua file akan menggunakan detail (yang diperbarui) yang sama. Anda dapat menyimpan detail koneksi di file config.php atau nama file lain yang menurut Anda cocok. Semua kode di dalam file ini berada di dalam blok kode PHP, sehingga tidak akan terekspos jika dibuka langsung di browser. Mari mulai dengan kode koneksi dasar di PDO untuk PHP & MySQL.

1. Buat Database, tabel, entitas data, dan insert data. Disini saya membuatnya seperti ini :

  • Nama database : db_siswa
  • Nama tabel : tb_siswa
  • Entitas data : 
      • id-int-a_i,primary key
      • nis-varchar lenght 100 
      • nama-varchar lenght 100
      • tanggal_lahir-date
  • Insert data bebas
2. Implementasi code menggunakan cara MVC. MVC adalah singkatan dari Model View Controller architecture pada bahasa pengkodean. Banyak platform menggunakan arsitektur ini untuk kemudahan pengkodean dan pengkodean ulang.
  • Model: Di folder ini ada file model digunakan untuk berkomunikasi dengan database seperti MySql. Setelah data diterima dari database, data tersebut kemudian diatur sedemikian rupa sehingga kode pengontrol dapat dipahami.
  • Controller: File pengontrol berisi pengumpulan data seperti variabel POST atau GET dan kemudian memprosesnya lebih lanjut dan mengirimkannya untuk dilihat.
  • View: Untuk mengumpulkan data lengkap dari pengontrol. Dan ditampilkan kepada pengguna saat memuat halaman.
Source kode CRUD:
  • Dowload folder dan ekstrak, lalu letakan di drive C-Xampp-Htdocs.
  • Open Visual Studio Code.
  • Open Xampp dan start apache dan mysql.
  • Masuk browser ketikkan localhost/PDOSiswa/. Klik view pilih dashboard.
3. Demo


Jawaban Assignment 1 Knowing Lifecycle Java Android

Maret 08, 2023

Jawaban Assignment 1 Knowing Lifecycle Java Android 

    Di android activity adalah setiap layar yang bisa dilihat. Tanpa UI tidak akan ada activity. Setiap layar pada aplikasi memiliki siklus hidup. Saat membuka aplikasi apa pun, akan ada layar yang akan menyambut. Activity pu juga melewati beberapa tahap dalam siklus hidupnya. Setiap activity memiliki 7 fungsi callback diantaranya onCreate(), onStart(), onPause(), onRestart(), onResume(), onStop() dan onDestroy(). Penjelasannya sebagai berikut :

  • onCreate() : Dipanggil hanya sekali yaitu saat activity pertama kali diinisialisasi dan merupakan tempat menginisialisasi data seperti variabel.
  • onStart() : Dipanggil saat activity akan terlihat oleh pengguna dan merupakan tempat aplikasi menyimpan kode terkait dengan UI.
  • onPause() : Dipanggil saat sistem akan menempatkan activity ke latar belakang dan terjadi saat pengguna beralih ke aplikasi lain tanpa menutup aplikasi ini.
  • onRestart() : Dipanggil setelah activity dihentikan dan kemudian membuka kembali aplikasi ini terjadi sebelum memulai.
  • onResume() : Dipanggil saat activity kembali siap untuk berinteraksi dengan pengguna.
  • onStop() : Dipanggil saat activity tidak lagi terlihat oleh pengguna.
  • onDestroy() : Dipanggil saat activity ditutup atau dihancurkan.
Soal :
  • User input text/string dalam input form yang disediakan.
  • User keluar dari aplikasi.
  • User masuk lagi ke aplikasi dan inputan text/string pada form (step1) HARUS masih ada. Supaya lebih mudah silahkan lihat pada gambar gif dibawah ini ya..
Output yang diharapkan :

Jawaban :

Activity dan Intent Android Java [Materi]

Februari 18, 2023

 

Activity dan Intent di Android Studio  

[Materi]


Activity adalah satu windows dalam aplikasi Android untuk tempat berinteraksi user dengan aplikasi.
Activity lifecycle. Resource image from https://www.javatpoint.com/android-life-cycle-of-activity. Keterangan kotak = method yang ada dalam class Activity. Oval = State dalam Activity.
https://www.javatpoint.com/android-life-cycle-of-activity
Intent adalah mail yang digunakan untuk mengaktifkan tiga komponen pada android (activity, service, dan broadcast receiver). Aktifasi pada komponen-komponen tersebut bisa terjadi pada aplikasi yang sama atau berbeda, seperti menjalankan Activity, inisiasi Service, atau pengiriman pesan kepada Broadcast Receiver. Pada saat terjadi komunikasi antar komponen, Intent menyimpan paket informasi yang digunakan pada proses. 



Ada 2 tipe intent yaitu explicit dan impplicit.
Ada 2 komponen intent yaitu action dan data.
Contoh inten action :
  • ACTION_MAIN 
  • ACTION_VIEW
  • ACTION_ATTACH_DATA 
  • ACTION_EDIT 
  • ACTION_PICK 
  • ACTION_CHOOSER 
  • ACTION_GET_CONTENT 
  • ACTION_DIAL 
  • ACTION_CALL 
  • ACTION_SEND 
  • ACTION_SENDTO 
  • ACTION_ANSWER 
  • ACTION_INSERT 
  • ACTION_DELETE 
  • ACTION_RUN 
  • ACTION_SYNC 
  • ACTION_PICK_ACTIVITY 
  • ACTION_SEARCH
  • ACTION_WEB_SEARCH 
  • ACTION_FACTORY_TEST
Sistem kerjanya :




Membuat custom Modul di Python

Februari 03, 2023

Create Custom Modules in Python


    Apakah kalian tau gimana sih cara menulis modul khusus di Python sendiri, mirip dengan library python terkenal seperti numpy, math, os atau pandas? Modul python tidak lain adalah file python atau sekumpulan file python. Dengan modul python, dapat langsung menulis kode yang dapat digunakan kembali dan lebih teratur. Python hadir dengan banyak modul default yang menyediakan fungsionalitas berbeda. Namun, juga dapat menulis modul kustom sendiri dengan didalamnya. Untuk membuat modul khusus dengan python, yang harus dilakukan adalah membuat file python baru. Contoh cara pembuatannya sebagai berikut ini :
1. Menulis file modul bernama modul_kal. Lalu buat class atau fungsi untuk isi modulnya. Kali ini hanya contoh program sederhana pengoperasian matematika dasar. Karena modul hanyalah file python, sehingga dapat mendefinisikan apa pun di dalam modul Python, seperti kelas, metode, struktur data, dan lainnya.
Jika sudah membuat isi modul, lalu download file dengan cara pilih file->download->download.py




2. Buat program yang akan mengambil isi data di modul. Disini saya simpan di file yang bernama  kalkulator. Syntak sederhananya sebagai berikut :
3. Upload modul python yang sudah dibuat dengan cara pilih file. Mungkin proses ini akan cukup lama tergantung speed internet. Jadi sabar aja ya :)
Jika sudah muncul seperti ini pilih upload file sesuai letaknya, karena punya saya filenya ada di local maka pilih yang upload to session storage
Jika sudah berhasil di up muncul seperti berikut :
4. Run program file kalkurator, pastikan sudah impor modulnya. Maka outputnya sebagai berikut :

    Saya harap kalian menyukai artikel ini. Jangan ragu untuk mengajukan pertanyaan berharga di bagian komentar di bawah. 🤩