Skip to content

Commit

Permalink
chore: init project bahasa zig (#1)
Browse files Browse the repository at this point in the history
commit ini menambahkan
- menambahkan contoh hello world pada zig
- menambahkan penjelasan tentang bahasa zig
- menambahkan CODEOWNERS, bug report, dan issue template lain-lain
- menambahkan workflow pada repositori

Signed-off-by: slowy07 <slowy.arfy@gmail.com>
  • Loading branch information
slowy07 authored Nov 28, 2023
1 parent c93c01b commit 10c0e2f
Show file tree
Hide file tree
Showing 7 changed files with 175 additions and 2 deletions.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Bug report
about: buat report untuk membantu kita dalam menyelesaikan masalah pada repository
title: BUG
labels: bug
assignees: slowy07

---

## Masalah
<!-- jelaskan masalah kamu secara detail -->

## Screenshots atau contoh error
<!-- copy paste contoh errornya disini atau kirim screenshot dengan copy paste gambar -->
```
pesan error
```

## Desktop (please complete the following information):
<!-- Ganti sesuai yang digunakan. -->
- OS: ``linux/windows/macOS``


terima kasih !
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/lain-lain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Lain Lain
about: buat report deskripsi untuk pull request
title: Penambahan algoritma
labels: enhancement
assignees: ''

---

## Description
<!-- jelaskan masalah kamu secara detail -->

## Saya Menggunakan
<!-- Ganti sesuai yang digunakan. -->
OS : ``Linux / Windows / MacOS``

## tambahan lainnya
<!-- jelaskan saran atau masukan lain yang ingin kamu sampaikan -->
8 changes: 8 additions & 0 deletions .github/workflows/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This is a comment.
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @slowy07
25 changes: 25 additions & 0 deletions .github/workflows/zig.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Zig workflows

on:
pull_request:
branches: [main]

jobs:
build:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]

steps:
- name: checkout Kode
uses: actions/checkout@v3

- name: setup zig
uses: goto-bus-stop/setup-zig@v2
with:
cache: false

- name: format kode zig
run: zig fmt .
67 changes: 67 additions & 0 deletions Basic/01_introduction/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
## Tentang Bahasa Pemograman Zig

Zig adalah bahasa pemograman yang baru diluncurkan pada tahun 2019. Bahasa ini merupakan bahasa pengembangan dari bahasa Pemograman Rust. Zig dirancang untuk menjadi bahasa pemograman yang cepat, efisien dan mudah dipelajari

Fitur yang diutamakan dari bahasa Zig ini antara lain:

- **Cepat**: dirancang untuk menghasilkan kode yang cepat dan efisien, bahasa ini menggunakan metode modern, seperti LLVM, untuk mengoptimalkan kode yang akan dihasilkan
- **Efisien**: kontrol yang lebih granular atas memory dan sumber daya lainnya. bahasa ini juga dapat membantu programmer untuk menghemat sumber dayanya

Tujuan utama dari bahasa Zig ini adalah

- **Pengembangan sistem**: zig ini dapat digunakan untuk mengembakan operasi sistem, software embedded, dan aplikasi-aplikasi yang sangat membutuhkan performa tinggi
- **Aplikasi web**: zig dapat juga digunakan untuk mengembangkan aplikasi web yang cepat dan efisien
- **Game**: zig dapat juga digunakan untuk mengembangkan game yang cepat yang menggunakan ZigGL (sebuah library 3D graphic yang dibuat dengan ZIG)

## installasi

untuk informasi download dan installasi kamu bisa melihat pada web resmi zig [disini](https://ziglang.org)

untuk via paket manager bisa dengan cara
```bash
# arch linux
pacman -S zig

# void linux
xbps-install -Su zig

# nix Os
nix-env -i zig

# ubuntu via snap
snap install zig --classic --beta

# gentoo
emerge -av dev-lang/zig
emerge -av dev-lang/zig-bin

# macOS homebrew
brew install zig

# windows
scoop install zig

# windows choco
choco install zig

# dargonfly bsd
ravensw install zig-single-standard
```
- **


## contoh `hello world` pada zig

```zig
const std = @import("std");
pub fn main() void {
std.debug.print("hello bellshade!", .{});
}
```
contoh kodenya bisa kamu lihat [disini](hello_world.zig)

kamu bisa menjalankannya dengan cara
```bash
zig run hello_world.zig
```
11 changes: 11 additions & 0 deletions Basic/01_introduction/hello_world.zig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// import modul std ke dalam variabel `std`
const std = @import("std");

// fungsi `main()` adalah fungsi utama, fungsi ini akan dipanggil saat program dijalankan
pub fn main() void {
// fungsi `debug.print()` digunakan untuk mencetak pesan ke konsol, fungsi ini menerima dua
// parameter yaitu pesan yang akan dicetak dan variabel opsional yang akan dicetak bersama pesan.
// pada kali ini kita akan mengosongkannya
// kemudian fungsi itu akan mencetak `hello bellshade!`
std.debug.print("hello bellshade!\n", .{});
}
24 changes: 22 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,22 @@
# zig
Repositori untuk belajar pemrograman Zig dalam bahasa Indonesia
<p align="center">
Part of Bellshade Project, managed by <a href="http://discord.gg/S4rrXQU"> WPU Discord Community</a> and <a href="https://discord.gg/eavqxxTU"> Kelas terbuka Discord Community</a> <br>
WPU Community is the fastest growing software developer forum initiated by <a href="https://www.youtube.com/c/WebProgrammingUNPAS"> Mr. Sandhika Galih</a> and <a href="https://github.com/faqihza"> Mr. Faqihza Mukhlish <br>
</p>

Repositori ini berisi kumpulan berbagai macam _source code_ strutur data, algorithm, analisis matematika, serta tutorial yang diimplementasikan dengan menggunakan bahasa pemograman Zig


### Baru Belajar? Mulai dari [sini](Basic) 🌟

Untuk menggunakan repositori dengan maksimal, kalian perlu belajar programming dasar dahulu. Silahkan ikuti alur belajar berikut untuk mempelajari dasar - dasar pemograman langsung menggunakan Zig

| Langkah | Topik | Target Pembelajaran | Materi Rujukan |
| :-----: | :------------------------------: | :-----------------------------------------------------------------------------------: | :-----------------------------------: |
| 01 | Introduksi Pemograman dan Zig | Memahami apa itu membuat program dan apa peran Zig dalam proses pembuatan program | [Materi](Basic/01_introduction) |


## 🤩 Ayo ikut kami dan berkontribusi! 🤩

Bantuan kalian diperlukan Agar Bellshade dapat lebih jauh lagi membantu anak-anak Indonesia belajar _programming_, kita butuh tenaga kalian!

> "Dengan Bellshade, aku jadi bisa _ngoding_! Terima kasih Bellshade!"

0 comments on commit 10c0e2f

Please sign in to comment.