Project CircuitVerse

Halaman ini berisi detail project penulisan teknis yang diterima untuk Google Season Dokumen.

Ringkasan proyek

Organisasi open source:
CircuitVerse
Penulis teknis:
dvl
Nama proyek:
Konsolidasi dan Peningkatan Buku Interaktif CircuitVerse
Durasi proyek:
Durasi standar (3 bulan)

Project description

1 Abstrak

CircuitVerse adalah project open source yang bertujuan untuk menyediakan platform tempat sirkuit dapat didesain dan disimulasikan menggunakan antarmuka pengguna grafis (GUI) berbasis web. Simulator logika dapat digunakan untuk merancang hingga menyelesaikan implementasi CPU, meskipun dirancang khusus untuk penggunaan edukatif. Selain dokumentasi teknis untuk software, buku interaktif online memandu pengguna dalam mempelajari desain logika digital. Buku ini memungkinkan pengguna mencoba sirkuit secara langsung dari dalam buku untuk mendapatkan pengalaman interaktif.

Buku ini masih dalam tahap pengembangan awal dan saat ini kekurangan beberapa bagian yang relevan, struktur umumnya bersifat longgar dalam hal alur yang menghubungkan bagian-bagian yang berbeda, dan memerlukan konten yang lebih mendetail. Selain itu, menurut organisasi tersebut, tidak ada panduan untuk membantu kontributor berkolaborasi dengan project, begitu juga rencana atau roadmap untuk memandu kontribusi tentang konten mana yang diperlukan dan dengan prioritas mana.

Tujuan dari proposal ini adalah untuk berkolaborasi dengan para mentor dalam membuat panduan kontribusi, memproduksi rencana pengembangan topik, dan berkontribusi dalam meningkatkan kualitas konten saat ini, serta membuat konten baru sesuai rencana pengembangan tersebut.

2 Kondisi Buku Interaktif Saat Ini

Sejak dimulainya Google Summer of Code 2019, project ini telah menunjukkan "pertumbuhan yang tidak terkelola", dengan bantuan komunitas siswa. Organisasi project itu sendiri dibentuk terutama oleh developer, sehingga mereka telah mengambil bagian dari GSoD untuk mencari bantuan eksternal guna meningkatkan kualitas Buku Interaktif. Developer project telah mengidentifikasi bahwa buku tersebut saat ini memerlukan penulisan ulang beberapa bagian, penambahan konten baru, serta menjadikannya lebih mendetail dan komprehensif. Selain itu, setelah GSoD, tim berharap memiliki pedoman untuk kontribusi baru serta "rencana master" umum untuk pengembangan konten.

3 Apa kontribusi proposal ini

Proposal ini akan berkontribusi pada pembuatan bersama panduan kontribusi versi pertama, yang bertujuan untuk memastikan proses kolaborasi yang lebih harmonis bagi kontributor, sehingga menghasilkan konten yang lebih konsisten. Rencana pengembangan topik buku juga akan diuraikan. Penambahan dan perubahan yang paling mendesak sesuai dengan rencana pengembangan baru juga akan dikontribusikan.

4 Analisis alternatif yang tersedia

Beberapa project open source matang dengan karakteristik serupa telah mengembangkan panduan kontribusi untuk dokumentasi, seperti Wikibooks ([Help:Contributing], [Wikibooks:Kebijakan dan pedoman]), OpenStreetMap ([Organised Editing Guidelines]), atau The Linux Documentation Project ([LDP Author Guide]). Contoh ini dapat digunakan untuk membuat panduan project berdasarkan pengalaman dari project open source yang sukses.

Untuk rencana pengembangan topik, Anda dapat membandingkan silabus kursus terbuka (misalnya [MIT Open Courseware]) serta buku referensi tentang sirkuit logika digital, termasuk buku terbuka seperti [Lessons In Electric Circuits -- Volume IV -Digital], [Wikibooks: Digital Circuits] dan [Wikibooks: Digital Electronics].

[Bantuan:Berkontribusi] https://en.wikibooks.org/wiki/Help:Berkontribusi

[Wikibooks:Kebijakan dan pedoman] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

[Pedoman Pengeditan yang Teratur] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

[Panduan Penulis LDP] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

[MIT Open Courseware] https://ocw.mit.edu/

[Pelajaran Sirkuit Listrik -- Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

[Wikibooks: Sirkuit Digital] https://en.wikibooks.org/wiki/Digital_Circuits

[Wikibooks: Digital Electronics] https://en.wikibooks.org/wiki/Digital_Electronics

5 Struktur dokumentasi yang diusulkan

Buku interaktif ini berpotensi berguna bagi banyak audiens, mulai dari penggemar elektronik amatir dan siswa pendidikan menengah hingga mahasiswa dan profesional pendidikan tinggi dan profesional yang perlu menyegarkan atau memperkuat keterampilan mereka dalam sirkuit logika digital.

Untuk mengatasi heterogenitas pada pengguna buku, struktur "multi-lapisan" diusulkan, dengan setiap lapisan berkaitan dengan peningkatan tingkat kompleksitas dan kedalaman teoritis konten.

Oleh karena itu, struktur dokumentasi berkembang menjadi dua dimensi, dimensi pertama sesuai dengan urutan topik logis atau tradisional dalam sistem logika digital, sedangkan dimensi kedua mewakili level.

Dalam daftar terstruktur berikut, struktur dua dimensi yang diusulkan diwakili. Urutan topik standar disajikan di level paling atas. Agar mudah, hanya tiga lapisan kompleksitas yang ditentukan untuk setiap topik, sesuai dengan tingkat dasar, sedang, dan lanjutan. Untuk setiap level, konten yang terkait dengan topik umum tertentu akan dicantumkan.

  • Representasi menggunakan angka binarty:
    • Tingkat dasar: Bilangan biner, Jumlah negatif, Basa lainnya, Kodifikasi.
    • Tingkat sedang: [tidak ada konten spesifik]
    • Level lanjutan: Modul dan lingkaran
  • Operasi matematika dengan bilangan biner:
    • Tingkat dasar: Penambahan, Pengurangan, Perkalian, Pembagian
    • Tingkat menengah: Aljabar Boolean, Fungsi Boolean
    • Tingkat lanjutan: Aljabar lainnya, dekomposisi Shannon
  • Komponen SSI kombinasi:
    • Tingkat dasar: Simbol, Gerbang logika, Tabel kebenaran
    • Tingkat sedang: Kelompok logika, Gerbang universal
    • Level lanjutan: Perilaku waktu (model waktu, bahaya)
  • Desain logika kombinasional:
    • Tingkat dasar: Deskripsi fungsional, Penerapan
    • Tingkat sedang: Fungsi kanonis, k-Maps
    • Tingkat lanjutan: Variabel yang dimasukkan ke peta, Quine McCluskey, Representasi kubus biner
  • Komponen MSI kombinasi:
    • Level dasar: MUX, DEMUX, Encoder, Decoder, Half adder, Full adder
    • Tingkat menengah: Fungsi berbasis MUX
    • Tingkat lanjutan: [tidak ada konten khusus]
  • Komponen LSI kombinasi:
    • Level dasar: ROM, ALU
    • Tingkat menengah: PLD (PLA, PAL, GAL)
    • Tingkat lanjutan: [tidak ada konten khusus]
  • Komponen SSI berurutan:
    • Tingkat dasar: Kait, Sandal jepit, Sinyal jam, Diagram waktu
    • Tingkat sedang: Masukan Memori, Sistem sinkron, Sistem asinkron
    • Tingkat lanjutan: [tidak ada konten khusus]
  • Komponen MSI berurutan:
    • Level dasar: Register, Penghitung
    • Tingkat sedang: [tidak ada konten spesifik]
    • Tingkat lanjutan: [tidak ada konten khusus]
  • {i>Sequential design<i} (Desain sekuensial):

    • Tingkat dasar: [tidak ada konten spesifik]
    • Tingkat sedang: Sintesis berurutan, FSM (Mealy, Moore), Diagram status, Minimalisasi status, Penetapan status, Kondisi race
    • Tingkat lanjutan: Desain berbasis MSI, desain berbasis LSI, Diagram alir, diagram MDS

    Level dasar harus memungkinkan pengguna memahami cara kerja sirkuit logika digital dan cara menggunakannya, tanpa memerlukan pengetahuan matematika yang lebih tinggi. Dengan demikian, fitur ini bisa cocok untuk penggemar amatir dan siswa pendidikan menengah. Jika pengguna ini memiliki keterampilan yang diperlukan dan ingin membangun pemahaman yang lebih dalam, mereka dapat mengerjakan sebagian atau semua konten tingkat menengah.

    Konten dan persyaratan tingkat menengah harus setara dengan kursus pengantar tingkat pendidikan tinggi dalam sistem logika digital.

    Terakhir, tingkat lanjutan mencakup konten yang biasanya dapat ditemukan di kursus lanjutan atau opsional untuk sistem digital di universitas.

    Struktur yang diusulkan ini akan didiskusikan dengan mentor pada tahap awal proyek (Minggu 3), yang kemudian akan digunakan sebagai masukan untuk menguraikan rencana pengembangan topik jangka panjang.

    Struktur yang diusulkan dapat memanfaatkan sebagian besar, jika tidak semua, konten dokumentasi saat ini, yang akan direvisi dan diperluas atau dikoreksi sebagaimana mestinya, jika diperlukan. Selain itu, bagian baru akan ditulis untuk konten yang belum dicakup oleh dokumentasi yang ada.

6 Sasaran

  1. Buat draf pertama panduan kontribusi untuk project Buku Interaktif.
  2. Menguraikan perkembangan topik buku.
  3. Menulis ulang dan menyusun ulang konten saat ini.
  4. Buat konten baru sesuai dengan rencana pengembangan.

7 Jadwal

Minggu ke-1: (14 Sep - 20 Sep) Lakukan analisis dan diskusikan dengan para mentor mengenai pedoman terbaik berdasarkan contoh project lain serta pengalaman yang diperoleh sejauh ini dalam project tersebut. Minggu ke-2: (21 September - 27 Sep) Tulis draf pedoman Minggu ke-3: (28 September - 4 Okt) Diskusikan draf rencana pengembangan topik dengan mentor. Minggu ke-4: (5 - 11 Oktober) Tulis rencana pengembangan. Minggu 5 sampai 11: (12 Okt - 29 Nov) Tulis kontribusi, yang terdiri dari konten yang disusun ulang serta topik baru. Minggu ke-12: (30 November - 5 Desember) Penyerahan laporan proyek. Evaluasi project: (3 Desember - 10 Desember) - Pengiriman evaluasi penulis teknis. - Pengiriman evaluasi para mentor.

8 Mengapa Buku Interaktif CircuitVerse

Karena krisis global COVID-19, saya mulai mencari referensi online yang dapat membantu mahasiswa program sarjana tentang sistem logika digital. Saya telah menjadi advokat teknologi Open Source Free-Libre selama beberapa dekade, jadi saya memprioritaskan project semacam ini. Saya menemukan simulator CircuitVerse dan memutuskan ini adalah alat yang tepat untuk melengkapi kurangnya aktivitas laboratorium akibat langkah pengendalian COVID-19 di Universitas kami. Saat menguji simulator, saya juga menemukan Buku Interaktifnya, dan meskipun kontennya belum cukup sebagai referensi utama untuk kursus lengkap tentang sistem logika digital, kontennya saat ini sudah benar dan mudah dipahami, jadi saya menyertakannya ke materi pembelajaran.

Karena saya menggunakan simulator mereka dan memesan secara intensif, saya dihubungi oleh organisasi untuk memberi tahu saya tentang GSoD. Di sini, saya melihat peluang untuk berkontribusi kembali pada project tersebut langsung dari bidang keahlian saya.

9 Referensi

  • [Bantuan Wikibooks:Berkontribusi],
  • [Wikibooks:Kebijakan dan pedoman]
  • [Pedoman Pengeditan yang Diatur oleh OpenStreetMap]
  • [Panduan Penulis Project Dokumentasi Linux (LDP)]
  • [MIT Open Courseware Introductory Digital Systems Laboratory Syllabus]
  • [Pelajaran Sirkuit Listrik -- Volume IV -Digital]
  • [Wikibooks: Sirkuit Digital]
  • [Wikibooks: Elektronik Digital]
  • [Proyek Brosur Linux]

    [Bantuan Wikibooks:Berkontribusi] https://en.wikibooks.org/wiki/Help:Contributing

    [Wikibooks:Kebijakan dan pedoman] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

    [Pedoman Pengeditan Terorganisasi OpenStreetMap] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

    [Panduan Penulis Project Dokumentasi Linux (LDP)] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

    [MIT Open Courseware Introductory Digital Systems Laboratory Silabus] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-introductory-digital-systems-laboratory-spring-2006/syllabus/

    [Pelajaran Sirkuit Listrik -- Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

    [Wikibooks: Sirkuit Digital] https://en.wikibooks.org/wiki/Digital_Circuits

    [Wikibooks: Elektronik Digital] https://en.wikibooks.org/wiki/Digital_Electronics

    [Proyek Brosur Linux] http://lbproject.sourceforge.net/