Development of a Japanese Kanji Learning Digital Module Based on the Kanji-GO Application

Authors

  • Ayu Putri Seruni University of Muhammadiyah Prof. DR. Hamka
  • Nia Septiany University of Muhammadiyah Prof. DR. Hamka

Keywords:

Learning Apps, Japanese, Digital Learning Media, Kanji, ADDIE Model

Abstract

This research aims to develop a digital module of Japanese kanji learning based on the Kanji- GO application aimed at elementary and middle level students. This application is designed to support the independent learning process and improve the understanding and mastery of kanji according to the needs of learners at both levels. The development method used is the ADDIE (Analysis, Design, Development, Implementation, and Evaluation) model, which allows for systematic and structured product development. The population in this study was 32 students, which were divided into two classes: elementary and intermediate levels. The instruments used in the study include validation of linguists, materials, and media, as well as feasibility assessments through product trials. The feasibility results show that the Kanji-GO application is considered "good" by experts in terms of appearance, function, and suitability of the material with the curriculum. Meanwhile, the learning outcomes of both classes showed significant improvement, indicating that the app is effective in helping with kanji mastery and is worth developing.

Downloads

Published

2025-12-14

How to Cite

Seruni, A. P. ., & Septiany, N. . (2025). Development of a Japanese Kanji Learning Digital Module Based on the Kanji-GO Application. Proceeding of International Conference on Japanese Studies, Language and Education, 6(1). Retrieved from https://proceedings.aspbji.id/index.php/icjsle/article/view/114
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_607e89427493a7_25097553(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_607e89427493a7_25097553(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_607e89427493a7_25097553(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_607e89427493a7_25097553(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_607e89427493a7_25097553(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_607e89427493a7_25097553(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php