Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci static code analysis improvement #43

Merged
11 changes: 7 additions & 4 deletions .github/workflows/golang_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ jobs:
- name: golang ci linting
uses: golangci/golangci-lint-action@v3
with:
version: latest
args: -E gofmt
- name: run test
run: go test ./..
version: v1.51.0
args: --disable-all -E gofmt --print-linter-name
skip-build-cache: true
- name: run math unit testing
run: go test ./math/...
- name: run math implementation unit testing
run: go test ./math_implementation/...
5 changes: 5 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
run:
go: 1.19
timeout: 10m
linters:
disable-all: true
enable:
- gofmt
17 changes: 8 additions & 9 deletions basic/03_variabel/variable.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ package main

import "fmt"

func main(){
// membuat variabel angka
// dengan tipe data float
var angka float64
angka = 25.5

fmt.Println(angka)
fmt.Printf("tipe data dari angka adalah %T\n", angka)
func main() {
// membuat variabel angka
// dengan tipe data float
var angka float64
angka = 25.5

fmt.Println(angka)
fmt.Printf("tipe data dari angka adalah %T\n", angka)
}

31 changes: 15 additions & 16 deletions basic/03_variabel/variable_dinamis.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,20 @@ package main

import "fmt"

func main(){
// membuat variabel dengan tipe data
// float64
var angka_saya float64 = 29.2

// deklarasi tipe data dengan operator
// walrus
angka_lain := 12

fmt.Println(angka_saya)
fmt.Println(angka_lain)
func main() {
// membuat variabel dengan tipe data
// float64
var angka_saya float64 = 29.2

// melihat tipe data dari
// kedua variabel
fmt.Printf("tipe data dari angka_saya adalah %T\n", angka_saya)
fmt.Printf("tipe data dari angka_lain adalah %T\n", angka_lain)
}
// deklarasi tipe data dengan operator
// walrus
angka_lain := 12

fmt.Println(angka_saya)
fmt.Println(angka_lain)

// melihat tipe data dari
// kedua variabel
fmt.Printf("tipe data dari angka_saya adalah %T\n", angka_saya)
fmt.Printf("tipe data dari angka_lain adalah %T\n", angka_lain)
}
2 changes: 1 addition & 1 deletion basic/04_constant/constant.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package main

import "fmt"

func main(){
func main() {
const PANJANG = 10
const LEBAR = 2
var hasil int
Expand Down
47 changes: 23 additions & 24 deletions basic/05_operator/operator.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,30 @@ package main

import "fmt"

func main(){
// membuat variabel a dan b
var a bool = true
var b bool = false
func main() {
// membuat variabel a dan b
var a bool = true
var b bool = false

// membuat instruksi logika
if (a && b){
fmt.Printf("kondisi a dan b adalah benar")
}
if (a || b){
fmt.Printf("kondisi salah satu benar")
}
// membuat instruksi logika
if a && b {
fmt.Printf("kondisi a dan b adalah benar")
}
if a || b {
fmt.Printf("kondisi salah satu benar")
}

// mengganti value a dan b
a = false
b = true
// mengganti value a dan b
a = false
b = true

// membuat instruksi logika
if (a && b){
fmt.Printf("kondisi a dan b adalah benar")
}else{
fmt.Printf("tidak benar")
}
if(!(a && b)){
fmt.Printf("kondisi benar")
}
// membuat instruksi logika
if a && b {
fmt.Printf("kondisi a dan b adalah benar")
} else {
fmt.Printf("tidak benar")
}
if !(a && b) {
fmt.Printf("kondisi benar")
}
}

10 changes: 5 additions & 5 deletions basic/06_looping/looping.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@ package main

import "fmt"

func main(){
func main() {
var i, j int

// membuat looping pertama
for i = 2; i < 100; i++{
for i = 2; i < 100; i++ {
// membuat looping kedua
for j = 2; j <= (i / j); j++ {
// jika i habis dibagi j, maka bukan bilangan prima
if (i % j == 0){
if i%j == 0 {
break
}
}
// jika i tidak habis dibagi j, maka i adalah bilangan prima
if (j > (i / j)){
if j > (i / j) {
fmt.Printf("%d adalah bilangan prima\n", i)
}
}
Expand Down
3 changes: 1 addition & 2 deletions basic/06_looping/recursion.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ func main() {
func factorial_number(n int) int {
// print stack (perulangan) fungsi
fmt.Printf("bilangan faktorial %d\n", n)

// jika n atau parameter sama dengan 0
// tidak ada perulangan lagi (fungsi telah selesai dijalankan)
if n == 0 {
Expand All @@ -23,4 +23,3 @@ func factorial_number(n int) int {
// dikarenakan nilai n belum sama dengan 0
return n * factorial_number(n-1)
}

24 changes: 12 additions & 12 deletions basic/07_fungsi/fungsi.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,27 @@ package main

import "fmt"

func main(){
func main() {
// membuat variabel
var a int = 10
var b int = 20
var hasil int
var a int = 10
var b int = 20
var hasil int

// memanggil fungsi
hasil = hitung(a, b)
hasil = hitung(a, b)

// menampilkan hasil
fmt.Printf("hasilnya adalah: %d\n", hasil)
fmt.Printf("hasilnya adalah: %d\n", hasil)

}

// membuat fungsi
func hitung(angka1, angka2 int) int{
func hitung(angka1, angka2 int) int {
// membuat variabel
var hasil int
var hasil int
// menghitung antara 2 variabel
hasil = angka1 + angka2
hasil = angka1 + angka2

// mengembalikan nilai
return hasil
return hasil
}
35 changes: 17 additions & 18 deletions basic/10_array/array.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,22 @@ package main

import "fmt"

func main(){
// membuat array dengan jumlah elemen = 15
var n [15] int
var i, j int
func main() {
// membuat array dengan jumlah elemen = 15
var n [15]int
var i, j int

// inisialiasi elemen array n ke 0
for i = 0; i < 15; i++{
// set elemen pada lokasi i = i + 3
// jadi memulai pada elemen 0 yaitu 3
// 3,4,5,6,7,8,9,10....,17
// sampai elemen ke 15
n[i] = i + 3
}

// menampilkan hasil elemen pada array
for j = 0; j < 15; j++{
fmt.Printf("elemen[%d] = %d\n", j, n[j])
}
}
// inisialiasi elemen array n ke 0
for i = 0; i < 15; i++ {
// set elemen pada lokasi i = i + 3
// jadi memulai pada elemen 0 yaitu 3
// 3,4,5,6,7,8,9,10....,17
// sampai elemen ke 15
n[i] = i + 3
}

// menampilkan hasil elemen pada array
for j = 0; j < 15; j++ {
fmt.Printf("elemen[%d] = %d\n", j, n[j])
}
}
27 changes: 13 additions & 14 deletions basic/10_array/slice.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,18 @@ package main
import "fmt"

func main() {
// membuat array

var makanan = []string{"ayam", "ikan", "mie", "telur", "bakso"}

// membut slice dan kemudian memasukkan dalam varibel
// terbaru
// mengambil dari index 0 ke 3
// ayam ikan mie dan telur

var makananSaya = makanan[0:3]

// print hasil slice
// membuat array

fmt.Println(makananSaya)
}
var makanan = []string{"ayam", "ikan", "mie", "telur", "bakso"}

// membut slice dan kemudian memasukkan dalam varibel
// terbaru
// mengambil dari index 0 ke 3
// ayam ikan mie dan telur

var makananSaya = makanan[0:3]

// print hasil slice

fmt.Println(makananSaya)
}
41 changes: 20 additions & 21 deletions basic/11_pointer/pointer.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,24 @@ package main

import "fmt"

func main(){
var angka int = 20

// membuat pointer
var poin *int

// menyimpan address dari angka ke variabel pointer
poin = &angka

fmt.Printf("alamat dari variabel angka: %x\n", &angka)

// alamat yang kesimpan dalam variabel pointer
fmt.Printf("alamat dari variabel pointer: %x\n", poin)

// mengakses value dari pointer
fmt.Printf("value dari variabel poin adalah: %d\n", *poin)

// menambahkan value yang terdapat pada variabel poin
var angka_hasil = *poin + 20
fmt.Printf("hasil value variabel poin sesudah ditambahkan: %d\n", angka_hasil)
}
func main() {
var angka int = 20

// membuat pointer
var poin *int

// menyimpan address dari angka ke variabel pointer
poin = &angka

fmt.Printf("alamat dari variabel angka: %x\n", &angka)

// alamat yang kesimpan dalam variabel pointer
fmt.Printf("alamat dari variabel pointer: %x\n", poin)

// mengakses value dari pointer
fmt.Printf("value dari variabel poin adalah: %d\n", *poin)

// menambahkan value yang terdapat pada variabel poin
var angka_hasil = *poin + 20
fmt.Printf("hasil value variabel poin sesudah ditambahkan: %d\n", angka_hasil)
}
36 changes: 18 additions & 18 deletions basic/13_slice/slice.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,28 @@ package main

import "fmt"

func main(){
/* membuat slice */
angka := []int{0, 1, 2, 3, 4, 5, 6, 7, 8}
printSlice(angka)
func main() {
/* membuat slice */
angka := []int{0, 1, 2, 3, 4, 5, 6, 7, 8}
printSlice(angka)

/* print original slice */
fmt.Println("angka ==", angka)

/* print dari subslice yng dimulai dari index 1 */
fmt.Prinfln(angka[1:4] ==, angka[1:4])
/* print original slice */
fmt.Println("angka ==", angka)

fmt.Println("angka[4:] ==", angka[4:])
/* print dari subslice yng dimulai dari index 1 */
fmt.Println("angka[1:4] ==", angka[1:4])

angka1 := make([]int, 0,5)
printSlice(angka1)
fmt.Println("angka[4:] ==", angka[4:])

angka2 := angka[2:]
PrintSlice(angka2)
angka1 := make([]int, 0, 5)
printSlice(angka1)

angka3 := angka[2:5]
printSlice(angka3)
angka2 := angka[2:]
printSlice(angka2)

angka3 := angka[2:5]
printSlice(angka3)
}
func printSlice(x []int){
fmt.Printf("len=%d cap=%d slice=%v\n", len(x), cap(x), x)
func printSlice(x []int) {
fmt.Printf("len=%d cap=%d slice=%v\n", len(x), cap(x), x)
}
Loading
Loading