Skip to content

Muhammad-Ikhwan-Fathulloh/Implementation-of-Techniques-into-Programming

Repository files navigation

Memahami Metode / Algoritma Teknik ke dalam Pemrograman

Definisi Metode Pengembangan dan Metode Teknik

Metode Pengembangan: Metode pengembangan adalah pendekatan atau kerangka kerja sistematis yang digunakan untuk merancang, mengembangkan, dan memelihara perangkat lunak atau sistem. Metode ini mencakup proses, tahapan, dan prosedur yang perlu diikuti untuk mencapai hasil yang diinginkan, seringkali dalam waktu tertentu, dan dengan hasil yang efisien serta dapat dipertanggungjawabkan. Metode pengembangan sering kali berfokus pada pengelolaan proyek secara keseluruhan, termasuk manajemen waktu, anggaran, dan kualitas produk.

  • Contoh Metode Pengembangan:
    • Agile: Pendekatan pengembangan perangkat lunak yang berfokus pada kolaborasi tim dan iterasi pendek. Mengutamakan fleksibilitas dan perubahan dalam perencanaan sesuai kebutuhan.
    • Waterfall: Metode pengembangan tradisional yang mengikuti pendekatan linier, di mana setiap tahap harus diselesaikan sebelum melanjutkan ke tahap berikutnya.
    • Scrum: Kerangka kerja Agile yang menggunakan sprint untuk mengelola pekerjaan dalam jangka waktu pendek dan berfokus pada hasil yang dapat diukur.

Metode Teknik: Metode teknik adalah pendekatan atau solusi spesifik yang digunakan untuk mengatasi masalah tertentu dalam pengembangan perangkat lunak, analisis data, atau penerapan algoritma dalam pemrograman. Teknik ini sering kali berupa langkah-langkah yang terstruktur atau algoritma yang diterapkan dalam tahap pengembangan untuk menyelesaikan masalah teknis dengan cara yang efisien dan efektif.

  • Contoh Metode Teknik:
    • Algoritma Sorting: Teknik untuk menyusun data dalam urutan tertentu, seperti Quick Sort atau Merge Sort.
    • Neural Networks: Algoritma yang digunakan dalam pembelajaran mesin untuk memodelkan pola dalam data yang kompleks.
    • Backpropagation: Teknik dalam jaringan saraf tiruan untuk memperbaiki kesalahan dengan menggunakan data yang telah diproses sebelumnya untuk melatih model.

Perbedaan Metode Pengembangan dan Metode Teknik

Aspek Metode Pengembangan Metode Teknik
Definisi Pendekatan sistematis untuk merancang, mengimplementasikan, dan memelihara perangkat lunak atau sistem. Teknik atau algoritma spesifik yang digunakan untuk menyelesaikan masalah tertentu dalam pengembangan.
Fokus Utama Proses dan tahapan pengembangan perangkat lunak secara keseluruhan. Cara atau langkah spesifik untuk memecahkan masalah teknis dalam pengembangan.
Contoh - Metode Agile, Scrum, Waterfall. - Algoritma Sorting (Quick Sort, Merge Sort), Neural Networks, atau Regression.
Cakupan Menyeluruh (end-to-end) dari tahap perencanaan hingga pemeliharaan. Spesifik pada langkah atau algoritma tertentu dalam pengembangan atau analisis.
Tujuan Memastikan proyek berjalan sesuai rencana, efisien, dan dapat diselesaikan tepat waktu. Menyediakan solusi efektif dan efisien untuk masalah teknis tertentu.
Pendekatan Biasanya lebih berorientasi pada manajemen proyek. Lebih berorientasi pada pemrograman atau implementasi teknis.
Dokumentasi Biasanya mencakup keseluruhan siklus hidup proyek. Biasanya terkait dengan kode atau algoritma yang diimplementasikan.
Tim yang Terlibat Melibatkan manajer proyek, pengembang, QA, dan stakeholder lainnya. Biasanya melibatkan pengembang, ilmuwan data, atau insinyur perangkat lunak.

Penjelasan Lebih Lanjut

1. Metode Pengembangan

  • Tujuan: Menyediakan kerangka kerja untuk menyelesaikan proyek perangkat lunak dengan efisien.
  • Contoh Implementasi:
    • Dalam metode Scrum, tim melakukan pengembangan perangkat lunak melalui iterasi yang disebut sprints, di mana setiap sprint memiliki deliverable tertentu.

2. Metode Teknik

  • Tujuan: Memberikan pendekatan teknis untuk menyelesaikan masalah spesifik dalam pengembangan perangkat lunak atau data.
  • Contoh Implementasi:
    • Menggunakan Dijkstra's Algorithm untuk menemukan jalur terpendek dalam sebuah graf.
    • Menggunakan Backpropagation untuk melatih jaringan neural.

Hubungan Keduanya

  • Metode pengembangan adalah kerangka kerja besar yang digunakan untuk mengelola proyek perangkat lunak secara keseluruhan.
  • Metode teknik adalah alat atau solusi teknis yang digunakan dalam proses pengembangan berdasarkan metode pengembangan yang dipilih.

Misalnya, dalam pengembangan perangkat lunak berbasis Agile, tim dapat menggunakan Machine Learning (metode teknik) untuk memproses data yang dikumpulkan selama pengembangan.


Macam-macam Metode / Teknik Algoritma ke dalam Pemrograman

Metode Struktur Data

FIFO (First In, First Out)

  • Karakteristik:
    • Elemen yang pertama masuk adalah elemen yang pertama keluar.
    • Digunakan dalam struktur data seperti Queue.
    • Contoh penerapan: antrean dalam sistem tiket atau buffer data.

LIFO (Last In, First Out)

  • Karakteristik:
    • Elemen yang terakhir masuk adalah elemen yang pertama keluar.
    • Digunakan dalam struktur data seperti Stack.
    • Contoh penerapan: fungsi undo/redo pada aplikasi.

Queue

  • Karakteristik:
    • Implementasi FIFO.
    • Mendukung operasi enqueue (memasukkan elemen) dan dequeue (mengeluarkan elemen).
    • Contoh penerapan: sistem printer, pemrosesan antrian.

Priority Queue

  • Karakteristik:
    • Variasi dari Queue di mana setiap elemen memiliki prioritas tertentu.
    • Elemen dengan prioritas lebih tinggi diproses lebih dulu, meskipun elemen tersebut masuk lebih lambat.
    • Implementasi biasanya menggunakan struktur Heap atau Binary Search Tree.
    • Mendukung operasi:
      • insert (menambahkan elemen dengan prioritas tertentu).
      • extract-max atau extract-min (menghapus elemen dengan prioritas tertinggi atau terendah).
    • Contoh penerapan:
      • Sistem antrian rumah sakit (pasien dengan kondisi darurat diprioritaskan).
      • Penjadwalan proses dalam sistem operasi.

Graph

  • Karakteristik:
    • Terdiri dari node (vertex) dan edge.
    • Dapat berupa directed (arah) atau undirected (tanpa arah).
    • Contoh penerapan: algoritma pencarian rute, jaringan sosial.

Tree

  • Karakteristik:
    • Struktur hierarki dengan node akar (root) dan cabang (child nodes).
    • Jenis: Binary Tree, Binary Search Tree, AVL Tree, dll.
    • Contoh penerapan: struktur folder, parser sintaksis.

Lain-lain

  • Struktur data lain seperti Hash Table, Linked List, dan Heap juga sering digunakan dalam berbagai aplikasi pemrograman.

Example Code


Metode Keamanan

RBAC (Role-Based Access Control)

  • Karakteristik:
    • Mengatur akses berdasarkan peran pengguna.
    • Meningkatkan keamanan dengan prinsip least privilege.
    • Contoh penerapan: sistem manajemen pengguna di aplikasi web.

Kriptografi

  • Karakteristik:
    • Teknik untuk melindungi data menggunakan algoritma enkripsi.
    • Membantu menjaga kerahasiaan, integritas, dan otentikasi data.
    • Contoh: RSA, AES, MD5.

Enkripsi dan Dekripsi

  • Karakteristik:
    • Enkripsi: mengubah data menjadi format yang tidak dapat dibaca (ciphertext).
    • Dekripsi: mengembalikan ciphertext ke format asli (plaintext).
    • Contoh penerapan: perlindungan komunikasi data pada HTTPS.

Lain-lain

  • Teknik lain seperti digital signature, hashing, dan firewall rules juga diterapkan dalam keamanan.

Example Code


Metode Pola Desain Pemrograman

SOLID

  • Karakteristik:
    • Prinsip desain yang bertujuan meningkatkan skalabilitas dan pemeliharaan kode.

S: Single Responsibility Principle (SRP)

  • Setiap kelas atau fungsi hanya memiliki satu tanggung jawab utama.

O: Open-Closed Principle (OCP)

  • Kode terbuka untuk ekstensi tetapi tertutup untuk modifikasi.

L: Liskov Substitution Principle (LSP)

  • Objek turunan harus dapat menggantikan objek induk tanpa mengubah fungsi aplikasi.

I: Interface Segregation Principle (ISP)

  • Antarmuka besar harus dipecah menjadi antarmuka yang lebih spesifik.

D: Dependency Inversion Principle (DIP)

  • Modul tingkat tinggi tidak boleh bergantung pada modul tingkat rendah.

Design Repository Service Pattern

  • Karakteristik:
    • Memisahkan logika akses data dari logika bisnis.
    • Menggunakan lapisan repository untuk mengelola operasi CRUD.

Lain-lain

  • Pola desain lain seperti Factory Pattern, Observer Pattern, dan Builder Pattern juga digunakan untuk menyelesaikan masalah tertentu.

Example Code


Metode Numerik

Rumus Matematika

  • Karakteristik:
    • Menggunakan metode numerik untuk menghitung solusi persamaan.
    • Contoh: metode iterasi, interpolasi, atau integral numerik.

Lain-lain

  • Teknik seperti finite difference, metode Euler, dan transformasi Fourier sering diterapkan dalam pemrosesan data numerik.

Example Code


Metode Kecerdasan Buatan

Data Science

  • Karakteristik:
    • Analisis data menggunakan algoritma statistik dan pembelajaran mesin.
    • Contoh penerapan: prediksi, klasifikasi, dan clustering.

Computer Vision

  • Karakteristik:
    • Menganalisis gambar dan video untuk mengenali objek atau pola.
    • Contoh penerapan: deteksi wajah, OCR.

Natural Language Processing (NLP)

  • Karakteristik:
    • Mengolah dan memahami teks atau suara dalam bahasa manusia.
    • Contoh penerapan: chatbot, analisis sentimen.

Reinforcement Learning

  • Karakteristik:
    • Belajar berdasarkan pemberian penghargaan atau hukuman.
    • Contoh penerapan: robotika, game AI.

Lain-lain

  • Teknik lain seperti deep learning, unsupervised learning, dan edge AI juga digunakan dalam aplikasi AI.

Example Code


Metode Web3

Blockchain

  • Karakteristik:
    • Struktur data terdesentralisasi yang terdiri dari blok-blok yang saling terhubung.
    • Memungkinkan penyimpanan data secara aman, transparan, dan tidak dapat diubah.
    • Contoh penerapan: cryptocurrency, sistem pencatatan transaksi, dan pengelolaan aset digital.

Smart Contract

  • Karakteristik:
    • Program yang berjalan di blockchain dan otomatis mengeksekusi logika berdasarkan kondisi tertentu.
    • Menghilangkan kebutuhan pihak ketiga untuk verifikasi.
    • Contoh penerapan: aplikasi DeFi (Decentralized Finance), sistem voting, dan penjualan NFT.

Decentralized Applications (DApps)

  • Karakteristik:
    • Aplikasi yang berjalan di jaringan blockchain tanpa server terpusat.
    • Menggunakan smart contract untuk menangani logika backend.
    • Contoh penerapan: aplikasi pinjaman terdesentralisasi, platform NFT marketplace, dan platform DAO (Decentralized Autonomous Organization).

Wallet Integration

  • Karakteristik:
    • Sistem dompet digital yang memungkinkan pengguna mengelola kunci pribadi untuk mengakses aset kripto.
    • Mendukung pengelolaan transaksi langsung di aplikasi Web3.
    • Contoh: MetaMask, Trust Wallet, Coinbase Wallet.

Interaksi Blockchain dengan Library Web3

  • Karakteristik:
    • Memungkinkan pengembang untuk berinteraksi dengan blockchain menggunakan JavaScript.
    • Library populer: web3.js, ethers.js.
    • Contoh fungsi:
      • Membaca data blockchain.
      • Mengirim transaksi.
      • Menjalankan fungsi pada smart contract.

NFT (Non-Fungible Token)

  • Karakteristik:
    • Aset digital yang unik dan tidak dapat digantikan, disimpan di blockchain.
    • Contoh penerapan: seni digital, koleksi, dan tiket acara berbasis NFT.

DAO (Decentralized Autonomous Organization)

  • Karakteristik:
    • Organisasi yang dikelola oleh komunitas menggunakan smart contract.
    • Transparan dan bebas dari kontrol pihak ketiga.
    • Contoh penerapan: crowdfunding, pengelolaan investasi kolektif.

Lain-lain

  • Bridges: Menghubungkan blockchain yang berbeda untuk interoperabilitas, memungkinkan transfer data atau aset antar jaringan blockchain.
  • IPFS (InterPlanetary File System): Sistem penyimpanan file terdesentralisasi yang mendukung aplikasi Web3 dengan keamanan dan keandalan tinggi.
  • Layer 2 Solutions: Solusi untuk mengatasi keterbatasan skalabilitas blockchain utama, seperti mengurangi biaya transaksi dan meningkatkan kecepatan. Contoh: Polygon, Arbitrum.

Example Code


Metode Embedded System

RTOS (Real-Time Operating System)

Karakteristik:

  • Memiliki determinisme waktu yang tinggi, artinya dapat memproses tugas dalam batas waktu tertentu.
  • Mengelola multitasking dengan prioritas tugas menggunakan scheduling algoritma seperti Round Robin, Rate Monotonic, atau Earliest Deadline First.
  • Dirancang untuk sistem real-time, di mana waktu respons sangat penting (misalnya, dalam sistem kontrol kendaraan, robotika, atau sistem IoT).

Fuzzy Logic

Karakteristik:

  • Menggunakan logika kabur (fuzzy logic) untuk menangani informasi tidak pasti atau variabel linguistik (contoh: "panas", "sedang", "dingin").
  • Cocok untuk sistem di mana model matematis tidak tersedia atau terlalu kompleks.
  • Bersifat fleksibel dan dapat diadaptasi untuk pengambilan keputusan.

PID (Proportional-Integral-Derivative)

Karakteristik:

  • Digunakan untuk pengendalian loop tertutup dalam sistem dinamis.
  • Terdiri dari tiga komponen:
    • Proportional (P): Mengukur error secara langsung.
    • Integral (I): Mengurangi error jangka panjang.
    • Derivative (D): Mengantisipasi perubahan error di masa depan.
  • Sederhana namun sangat efektif untuk menjaga kestabilan sistem.

Machine Learning on Edge Devices

Karakteristik:

  • Menggunakan model pembelajaran mesin yang dioptimalkan untuk dijalankan langsung pada perangkat dengan sumber daya terbatas.
  • Cocok untuk aplikasi yang memerlukan prediksi real-time tanpa bergantung pada cloud.
  • Metode meliputi tinyML, quantized neural networks, atau model inferensi berbasis TensorFlow Lite.

Event-Driven Programming

Karakteristik:

  • Sistem berbasis event menangani tugas ketika event (kejadian) tertentu terjadi, seperti sinyal dari sensor atau input pengguna.
  • Sangat efisien untuk sistem yang tidak membutuhkan tugas berulang secara konstan.

Neural Network on FPGA

Karakteristik:

  • FPGA (Field-Programmable Gate Array) digunakan untuk menjalankan model jaringan saraf dengan latensi sangat rendah.
  • Cocok untuk aplikasi AI real-time di perangkat dengan batasan daya.
  • Dikustomisasi secara perangkat keras untuk kinerja optimal.

Example Code


Menggabungkan Metode / Algoritma Teknik ke Aplikasi

Monolith (Metode / Algoritma Teknik)

Monolith

Definisi

Monolith adalah sebuah arsitektur perangkat lunak di mana seluruh komponen dan fungsionalitas aplikasi digabung menjadi satu kesatuan tunggal. Semua bagian aplikasi dijalankan dalam satu proses dan dipaketkan sebagai satu entitas.

Proses Menggabungkan Metode / Algoritma Teknik

  1. Implementasi dalam Basis Kode Tunggal: Metode atau algoritma teknik ditulis langsung dalam basis kode monolith.
  2. Integrasi dengan Modul Lain: Algoritma teknik dipanggil sebagai fungsi atau modul dari bagian aplikasi lain.
  3. Testing dan Deployment: Setelah integrasi, seluruh aplikasi diuji sebagai satu unit dan di-deploy bersama algoritma.

Ciri-ciri

  1. Basis kode tunggal: Semua fitur, logika, dan algoritma teknik berada dalam satu basis kode.
  2. Komunikasi langsung: Fungsi algoritma dapat dipanggil secara langsung tanpa perlu API.

Keuntungan

  1. Integrasi mudah: Tidak memerlukan mekanisme komunikasi tambahan seperti API.
  2. Sederhana: Cocok untuk algoritma yang tidak terlalu kompleks atau hanya digunakan secara lokal.
  3. Efisiensi performa: Semua proses berjalan dalam satu konteks aplikasi.

Kekurangan

  1. Kesulitan maintainability: Perubahan kecil dalam algoritma dapat memengaruhi keseluruhan aplikasi.
  2. Skalabilitas terbatas: Algoritma yang berat dapat memperlambat aplikasi utama.

Microservice (Metode / Algoritma Teknik)

Microservice

Definisi

Microservice adalah arsitektur perangkat lunak yang memecah aplikasi menjadi layanan-layanan kecil yang berdiri sendiri. Metode atau algoritma teknik diisolasi dalam layanan terpisah untuk efisiensi dan skalabilitas.

Proses Menggabungkan Metode / Algoritma Teknik

  1. Pengembangan Terpisah: Algoritma teknik diimplementasikan dalam layanan microservice menggunakan bahasa atau framework terbaik untuk tugas tersebut.
  2. Penyediaan API: Microservice menyediakan endpoint API untuk memproses permintaan yang melibatkan algoritma teknik.
  3. Integrasi dengan Aplikasi Utama: Aplikasi utama memanggil API microservice ketika diperlukan.

Ciri-ciri

  1. Decoupling penuh: Algoritma teknik dipisahkan dari aplikasi utama.
  2. Komunikasi melalui API: Aplikasi utama mengirimkan data ke microservice dan menerima hasilnya.

Keuntungan

  1. Fleksibilitas teknologi: Algoritma dapat dikembangkan menggunakan alat yang paling sesuai.
  2. Skalabilitas: Algoritma dapat di-scale secara independen dari aplikasi utama.
  3. Isolasi kesalahan: Masalah pada algoritma tidak memengaruhi aplikasi utama.

Kekurangan

  1. Kompleksitas tambahan: Memerlukan pengelolaan API dan orkestrasi layanan.
  2. Overhead komunikasi: Interaksi melalui API dapat meningkatkan latensi.

Monolith + Microservice (Metode / Algoritma Teknik)

Monolith + Microservice

Definisi

Pendekatan hybrid yang menggabungkan arsitektur monolith dengan microservice. Metode atau algoritma teknik dipisahkan ke dalam layanan microservice, sementara aplikasi utama tetap monolith.

Proses Menggabungkan Metode / Algoritma Teknik

  1. Identifikasi Algoritma yang Berat: Tentukan metode atau algoritma teknik yang memerlukan sumber daya tinggi atau sering berubah.
  2. Isolasi ke dalam Microservice: Algoritma tersebut diimplementasikan dalam microservice menggunakan bahasa pemrograman yang sesuai.
  3. Penyediaan Endpoint API: Microservice dibuat untuk menerima permintaan dari aplikasi utama.
  4. Integrasi API ke Monolith: Aplikasi monolith memanggil microservice melalui API untuk memproses algoritma teknik.
  5. Pengembalian Data: Hasil proses dari microservice dikembalikan ke aplikasi utama untuk digunakan lebih lanjut.

Ciri-ciri

  1. Hybrid: Kombinasi arsitektur monolith untuk aplikasi utama dan microservice untuk algoritma teknik.
  2. Komunikasi API: Data dikirim antara aplikasi monolith dan microservice menggunakan protokol seperti REST atau gRPC.

Keuntungan

  1. Pemanfaatan Terbaik dari Kedua Arsitektur: Stabilitas monolith untuk fitur utama dan fleksibilitas microservice untuk algoritma teknik.
  2. Efisiensi Proses: Algoritma berat dijalankan secara terpisah tanpa membebani aplikasi utama.
  3. Skalabilitas Modular: Algoritma teknik dapat di-scale secara independen.

Kekurangan

  1. Latensi Tambahan: Komunikasi antara monolith dan microservice dapat menambah waktu respons.
  2. Kompleksitas Operasional: Memerlukan pengelolaan infrastruktur untuk kedua arsitektur.

Contoh Penggunaan

  1. Sistem Akademik: Monolith untuk manajemen administrasi mahasiswa, dengan microservice untuk analisis prediksi keberhasilan studi menggunakan algoritma machine learning.
  2. E-commerce: Aplikasi monolith untuk katalog dan transaksi, dengan microservice untuk rekomendasi produk.
  3. Aplikasi Medis: Aplikasi utama untuk manajemen pasien, dengan microservice untuk analisis data kesehatan menggunakan algoritma AI.

Optimasi dengan DevOps dan MLOps

Optimasi dalam penggabungan metode teknik/algoritma ke aplikasi dapat dicapai dengan mengintegrasikan praktik DevOps dan MLOps. Keduanya memungkinkan otomatisasi, kolaborasi, dan pengelolaan siklus hidup aplikasi serta algoritma secara lebih efisien.


DevOps untuk Optimasi Sistem

DevOps adalah pendekatan budaya dan set praktik yang mengintegrasikan tim pengembangan (Development) dan operasi (Operations) untuk meningkatkan efisiensi pengembangan perangkat lunak, pengujian, dan deployment.

Proses Implementasi DevOps

  1. Continuous Integration (CI): Setiap perubahan kode, termasuk implementasi metode atau algoritma teknik, diintegrasikan ke dalam basis kode utama dan diuji secara otomatis.
  2. Continuous Deployment (CD): Algoritma yang diintegrasikan akan secara otomatis di-deploy ke lingkungan produksi setelah melalui pipeline pengujian.
  3. Infrastructure as Code (IaC): Mengelola infrastruktur seperti server dan database dengan skrip otomatis, mendukung deployment aplikasi dan microservice.
  4. Monitoring dan Feedback Loop: Pemantauan aplikasi secara real-time untuk memastikan algoritma bekerja optimal dan memberikan feedback untuk perbaikan.

Keuntungan DevOps

  • Kecepatan pengembangan: Mempercepat integrasi dan deployment metode/algoritma teknik.
  • Kolaborasi tim yang lebih baik: Menyatukan pengembang dan tim operasi.
  • Keandalan: Memastikan aplikasi berjalan stabil dengan pengujian otomatis.

MLOps untuk Optimasi Algoritma Teknik

MLOps (Machine Learning Operations) adalah pendekatan DevOps yang diterapkan pada proyek berbasis Machine Learning (ML). Ini memungkinkan pengelolaan siklus hidup algoritma ML, mulai dari pelatihan, deployment, hingga monitoring model.

Proses Implementasi MLOps

  1. Pipeline Data: Mengotomatiskan pengumpulan, pembersihan, dan pengolahan data untuk melatih algoritma teknik berbasis ML.
  2. Model Training: Algoritma ML dilatih secara teratur menggunakan pipeline pelatihan otomatis untuk memperbarui model dengan data terbaru.
  3. Model Deployment: Model yang telah dilatih dideploy ke dalam microservice atau monolith menggunakan containerisasi (misalnya, Docker).
  4. Monitoring Model: Melacak performa model algoritma teknik di lingkungan produksi untuk mengidentifikasi degradasi performa (model drift).
  5. Feedback Loop: Data baru dari lingkungan produksi digunakan untuk meningkatkan akurasi model.

Keuntungan MLOps

  • Reproduksibilitas: Setiap versi algoritma teknik dapat dilacak dan direproduksi.
  • Peningkatan akurasi: Algoritma selalu diperbarui dengan data terbaru.
  • Otomatisasi penuh: Mengurangi intervensi manual untuk pelatihan dan deployment algoritma.

Dengan demikian, Metode Pengembangan berfokus pada pengelolaan dan alur kerja proyek perangkat lunak secara keseluruhan, sementara Metode Teknik lebih berfokus pada penerapan teknik atau algoritma tertentu untuk menyelesaikan masalah dalam pengembangan atau analisis data. Keduanya saling melengkapi dalam menciptakan solusi perangkat lunak yang efisien dan efektif.

About

General Lecture Material for Implementing Techniques into Programming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published